Я хотел бы просто просмотреть все устройства, добавленные и удаленные из моей системы, и просмотреть их идентификатор производителя USB, идентификатор продукта и редакцию, а также другую соответствующую информацию. Как я могу сделать это в Linux? Есть лог-файл, который я могу tail -f
или это требует чего-то еще?
8
dmesg
достаточно детализировано?dmesg
не отображает все события USB, только те, для которых существует обработчик и вызываетprintk()
.Ответы:
Эта информация появляется в журналах ядра - обычно в
/var/log/kern.log
или, или/var/log/syslog
, или в каком-то другом файле (это зависит от конфигурации вашего системного журнала, разные дистрибутивы имеют разные значения по умолчанию).Если вы хотите что-то предварительно отфильтровать, вы можете добавить правило udev. Создайте файл,
/etc/udev/rules.d/tkk-log-usb.rules
содержащий что-то вроде:Среда программы заполнена множеством переменных, описывающих устройство, в том числе:
ACTION
(add
илиremove
)DEVICE
путь к устройству, если вы хотите получить к нему доступID_MODEL_ID
иID_VENDOR_ID
содержат модель и идентификатор поставщика, а такжеID_MODEL
иID_VENDOR
содержат соответствующий текстID_SERIAL
содержит серийный номер устройства (если доступно)источник
Вы можете сделать это с
udevadm
:или
фильтровать только
udev
события. Если вы хотите , чтобыgrep
для конкретного имущества , вам придется не-буфераudevadm
вывода (с помощью инструментовstdbuf
,script
,unbuffer
...):или
или
источник
Если вы просто хотите следить за текущими подключенными USB-устройствами, вы
watch --no-title lsusb
можете их оплатить.источник