[英]How to distinguish between USB Hard Disk Drive and USB flash drive?
在Windows中,您可以获得GetDriveType返回值来确定USB硬盘驱动器或USB闪存驱动器。
DRIVE_REMOVABLE ==> USB闪存盘
DRIVE_FIXED ==> USB硬盘驱动器
我应该如何在linux中做到这一点?
从开发人员的角度来看,我应该怎么做?
您需要使用apt-get或yum命令安装lshw命令。 要显示系统中的所有磁盘和存储控制器,请输入:
# lshw -class disk -class storage
稍后您也可以尝试以下操作,它将提供特定的完整详细信息...
# hdparm -I /dev/sda
要么
$ sudo hdparm -I /dev/sda
好吧,在“ / sys”下面有一个“可移动”标志实现为文件,但是....
例如,在我的系统上, /sys
下的该文件表示通过附加的USB硬盘(在“总线1->端口2->配置1->接口0”上找到的USB设备)实现的磁盘/dev/sde
/sys/devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2:1.0/host9/target9:0:0/9:0:0:0/block/sde
子路径
/sys/devices/pci0000:00/0000:00:02.1/usb1/1-2
在“总线1->端口2”上找到的USB设备似乎代表USB设备本身。
让我们使用find
“可移动”文件,并使用cat
打印它们的内容:
$ cd /sys/devices/pci0000:00/0000:00:02.1/usb1/1-2
$ find . -name removable -exec echo -n '{}: ' ";" -exec cat '{}' ";"
./1-2:1.0/host9/target9:0:0/9:0:0:0/block/sde/removable: 0
./removable: unknown
因此,“设备”不可移动,而“磁盘”不可移动(假设“ 0”表示“否”)。 不是很有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.