[英]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.