Udev verwenden:
Sie können nützliche Informationen abfragen udev(auf Systemen, die sie verwenden - fast alle Desktop-Linuxe mit Sicherheit). Wenn Sie beispielsweise wissen möchten, welches angeschlossene Laufwerk zugeordnet ist /dev/sdb, können Sie Folgendes verwenden:
udevadm info --query=property --name=sdb
Es wird eine Liste der Eigenschaften dieses Geräts angezeigt, einschließlich der Seriennummer (ID_SERIAL_SHORT). Mit diesen Informationen können Sie die Ausgabe von lsusb -vDingen wie dem Hersteller und dem Produktnamen anzeigen und herausfinden.
Ein kürzerer Weg dazu wäre
udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"
und siehe die Zeile mit der Übereinstimmung $ID_VENDOR_ID:$ID_MODEL_IDin der viel kürzeren Ausgabe von lsusb.
Eine weitere nützliche Option ist udevadm monitor. Verwenden Sie diese Option, wenn Sie wissen möchten, welcher Geräteknoten zum Zeitpunkt des Anfügens des Geräts erstellt wurde . Also erstmal laufen
udevadm monitor --udev --subsystem-match=block
Und dann das Gerät anschließen. Sie sehen die Gerätenamen der erkannten Blockgeräte (Festplatten / Partitionen) am Ende jeder Ausgabezeile.
Ein praktisches Beispiel für eine Shell-Funktion:
Hier ist eine Funktion, die Sie in Ihr .bashrc(oder .zshrc) einfügen können :
listusbdisks ()
{
[["x $ 1" == "xv"]] && shift && local VERBOSE = -v
für dsk in $ {@ - / dev / sd?}
tun
/ sbin / udevadm info --query = path --name = "$ dsk" | grep --colour = auto -q usb || fortsetzen
echo "===== device $ dsk is:"
(eval $ (/ sbin / udevadm info --query = property --name = "$ dsk" | grep "\ (MODEL \ | VENDOR \) _ ID")
["$ ID_VENDOR_ID: $ ID_MODEL_ID" == ":"] && "Unbekannt" || \
lsusb $ VERBOSE -d "$ ID_VENDOR_ID: $ ID_MODEL_ID"
)
grep -q "$ dsk" / proc / mounts && echo "----- GERÄT IST MONTIERT ----"
Echo
erledigt
}
Benutze es so:
listusbdisks- um alle /dev/sdxGeräte zu erkennen ;
listusbdisks sdboder listusbdisks /dev/sdboder listusbdisks sdb sdc- um nur Informationen zu bestimmten Geräten zu erhalten;
listusbdisks -v [optional devices as above] - um ausführliche Ausgaben von anzuzeigen lsusb
[Bearbeiten]: Es wurden einige Funktionen hinzugefügt, z. B. das Abfragen vieler Geräte, das Überprüfen der Bereitstellungen und das Steuern der Ausführlichkeit von lsusb.