Я хотел бы перечислить только устройства, подключенные через USB.
Проблема в том, что Ubuntu видит все флешки как съемные (в /sys/block/*/removable
), но не видит внешние жесткие диски одинаково.
Это немного более конкретно, чем Как определить устройство USB?
command-line
usb
user1556438
источник
источник
Я бы порекомендовал проверить свойства udev устройств, а именно
ID_BUS
свойства:источник
я думаю
даст вам то, что вы хотите, по крайней мере, если я понимаю, что вы спрашиваете. (Конечно, в нем перечислены все USB-устройства, а не только хранилище.)
источник
Список только подключенных USB- устройств храненияИзменить: Когда у меня будет время, я еще раз вернусь к этому сообщению, чтобы в нем были перечислены только устройства USB. На данный момент в нем перечислены все установленные устройства,
/media
которые могут быть достаточно хорошими для некоторых людей.Перечисление всех устройств, установленных в
/media
Все остальные ответы здесь, по-видимому, не в состоянии отфильтровывать устройства, не являющиеся запоминающими устройствами USB, или запоминающие устройства, не являющиеся запоминающими устройствами USB.
Вот команда, которая должна перечислять только устройства хранения, подключенные через USB.Единственное исключение, которое, вероятно, ни для кого не имеет значения, заключается в том, что на нем не будут отображаться подключенные оптические накопители USB со смонтированным носителем.Требования, чтобы это работало
/media
каталоге. Если ваше устройство USB сконфигурировано в fstab для монтирования где-то еще, вам нужно настроить следующие командыСписок устройств хранения USB
В моем конкретном случае для сценария, который я пишу, я перечисляю отдельные разделы. Вот две команды. Один перечислит разделы подключенных устройств, а другой просто перечислит устройства.
Перечисление разделов:
lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
Пример вывода:
Список устройств:
lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
Пример вывода:
источник
/media
?