Linux

什麼是僅列出 USB 儲存設備的 Linux 命令?

  • September 26, 2021

我只想列出連接到我的電腦的 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"
}

引用自:https://unix.stackexchange.com/questions/214687