Za pomocą udev:
Przydatne zapytania można uzyskać udev
(w systemach, które ich używają - na pewno prawie wszystkie Linuxy typu stacjonarnego). Na przykład, jeśli chcesz wiedzieć, z którym podłączonym dyskiem jest powiązany /dev/sdb
, możesz użyć:
udevadm info --query=property --name=sdb
Wyświetli listę właściwości tego urządzenia, w tym szeregowy (ID_SERIAL_SHORT). Mając te informacje, możesz spojrzeć na dane wyjściowe lsusb -v
i znaleźć takie rzeczy, jak producent i nazwa produktu.
Byłaby to krótsza ścieżka do tego
udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"
i zobacz linię z dopasowaniem $ID_VENDOR_ID:$ID_MODEL_ID
w znacznie krótszym wyjściu z lsusb
.
Inną przydatną opcją jest udevadm monitor
. Użyj go, jeśli chcesz wiedzieć, który węzeł urządzenia jest tworzony w momencie podłączania urządzenia . Więc pierwszy bieg
udevadm monitor --udev --subsystem-match=block
A następnie podłącz urządzenie. Zobaczysz nazwy urządzeń wykrytych urządzeń blokowych (dysków / partycji) wydrukowanych na końcu każdej linii wyjściowej.
Praktyczna przykładowa funkcja powłoki:
Oto funkcja, którą możesz umieścić w swoim .bashrc
(lub .zshrc
):
listusbdisks ()
{
[["x $ 1" == "xv"]] && shift && local VERBOSE = -v
za dsk w $ {@ - / dev / sd?}
robić
/ sbin / udevadm info --query = ścieżka - nazwa = "$ dsk" | grep --colour = auto -q usb || kontyntynuj
echo "===== urządzenie $ dsk to:"
(eval $ (/ sbin / udevadm info --query = property --name = "$ dsk" | grep "\ (MODEL \ | VENDOR \) _ ID))
["$ ID_VENDOR_ID: $ ID_MODEL_ID" == ":"] && echo „Nieznany” || \
lsusb $ VERBOSE -d "$ ID_VENDOR_ID: $ ID_MODEL_ID"
)
grep -q "$ dsk" / proc / mounts && echo "----- URZĄDZENIE JEST ZAMONTOWANE ----"
Echo
gotowy
}
Użyj tego w ten sposób:
listusbdisks
- rozpoznać wszystkie /dev/sdx
urządzenia;
listusbdisks sdb
lub listusbdisks /dev/sdb
lub listusbdisks sdb sdc
- aby uzyskać informacje tylko o niektórych urządzeniach;
listusbdisks -v [optional devices as above]
- aby wyświetlić pełne wyniki lsusb
[Edytuj]: Dodano pewne funkcje, takie jak odpytywanie wielu urządzeń, sprawdzanie montowań i kontrolowanie szczegółowości lsusb
.