Linux
什麼是僅列出 USB 儲存設備的 Linux 命令?
我只想列出連接到我的電腦的 USB 儲存設備。由於這些是 SCSI 磁碟,我使用了命令
lsscsi
,它列出了 USB 驅動器以及我的電腦的硬碟驅動器和 CD 驅動器。有沒有辦法忽略不是 USB 的記憶體儲存?我也嘗試過lsusb
,但這包括我的鍵盤、滑鼠和其他非儲存設備。
此答案檢查所有附加塊設備的列表並遍歷它們
udevadmin
以檢查它們各自的ID_BUS
.您可以在 中查看所有附加的塊設備
/sys/block
。這是連結答案中的 bash 腳本,它應該讓您知道它是否是 USB 儲存設備:for device in /sys/block/* do if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb then echo $device fi done
我剛剛寫了一個函式:
dmu() { # Criação : 2019-07-24 RBR. local disks=`lsblk -o name,tran | awk '$2=="usb"{print $1}' | tr "\n" " " | sed -E "s/^ +//g;s/ +$//g"` local mask=`sed -E "s/ /\([\\\\t ]|[0-9]\)+|/g;s/$/\([\\\\t ]|[0-9]\)+/g" <<< ${disks}` lsblk -f | sed -n "1p" lsblk -f | grep -E "$mask" }