当连接USB闪存盘或USB外部驱动器时,有没有办法通过Linux检查它是USB闪存盘还是外部闪存驱动器?有什么实用程序或类似的东西吗?
答案1
您可以在 中找到有关硬件设备的信息/sys
。对于磁盘驱动器,请查看下面的/sys/block
。例如,有关的信息/dev/sdb
位于 下/sys/block/sdb
。该文件/sys/block/sdb
包含1
设备是否可移动以及0
其他情况。链接到的目录中有更多信息device
,包括model
和vendor
。
答案2
有一个工具lshw
可用于检查硬件。您需要 root 权限才能充分利用它。要了解您的磁盘,请按以下方式调用它:
sudo lshw -class disk
这将以树状列表显示有关系统上所有磁盘的信息。如果磁盘是可移动的,您会发现一行提到可拆卸的作为其能力的一部分。例如,该行可能如下所示capabilities: removable
如果您在没有滚动条的真实终端中工作,请添加| more
以能够查看所有输出。
答案3
对我来说,/sys/block/sdb/removable
包含零,即使磁盘是通过 USB 电缆插入的。所以我需要一个改进的答案,并想出了这个:
for dev in $(lsblk -ndo name)
do
udevadm info --query=property --path=/sys/block/$dev |
sed -n "s|^DEVPATH=|$dev/|p" |
cut -d/ -f1,6 | tr / :
done