Використання udev:
Ви можете отримати корисний інформаційний запит udev
(у системах, які його використовують - майже у всіх настільних Linux-серверах точно). Наприклад, якщо ви хочете знати, з яким пов’язаним приводом пов’язаний /dev/sdb
, ви можете використовувати:
udevadm info --query=property --name=sdb
Він покаже вам список властивостей цього пристрою, включаючи серійний (ID_SERIAL_SHORT). Маючи цю інформацію, ви можете подивитися на вихід lsusb -v
та дізнатись такі речі, як виробник та назва продукту.
Коротший шлях до цього був би
udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"
і побачити рядок зі збігом $ID_VENDOR_ID:$ID_MODEL_ID
у набагато коротшому виході lsusb
.
Ще один корисний варіант udevadm monitor
. Використовуйте його, якщо ви хочете знати, який вузол пристрою створений у місці приєднання пристрою . Тож спочатку біжи
udevadm monitor --udev --subsystem-match=block
А потім підключіть пристрій. Ви побачите назви пристроїв виявлених блокових пристроїв (дисків / розділів), надруковані в кінці кожного рядка виводу.
Практичний приклад функції оболонки:
Ось функція, яку ви можете ввести у свій .bashrc
(або .zshrc
):
listusbdisks ()
{
[["x $ 1" == "xv"]] && shift && local VERBOSE = -v
для dsk в $ {@ - / dev / sd?}
робити
/ sbin / udevadm info --query = path --name = "$ dsk" | grep --colour = auto -q usb || продовжувати
echo "===== пристрою $ dsk є:"
(eval $ (/ sbin / udevadm info --query = властивість --name = "$ dsk" | grep "\ (МОДЕЛЬ | | VENDOR \) _ ID")
["$ ID_VENDOR_ID: $ ID_MODEL_ID" == ":"] && відлуння "Невідомо" || \
lsusb $ VERBOSE -d "$ ID_VENDOR_ID: $ ID_MODEL_ID"
)
grep -q "$ dsk" / proc / mounts && echo "----- ПРИСТРОЙ МОГУЄТЬСЯ ----"
відлуння
зроблено
}
Використовуйте його так:
listusbdisks
- розпізнавати всі /dev/sdx
пристрої;
listusbdisks sdb
або listusbdisks /dev/sdb
або listusbdisks sdb sdc
- отримувати інформацію лише про певні пристрої;
listusbdisks -v [optional devices as above]
- показувати багатослівні виходи lsusb
[Редагувати]: Додано певну функціональність, наприклад запити багатьох пристроїв, перевірку кріплень та багатослівність керування lsusb
.