Як перерахувати всі пристрої зберігання даних (палець / зовнішні жорсткі диски), підключені через USB, з командного рядка?


18

Я хотів би перерахувати ТОЛЬКІ пристрої, підключені через usb.

Проблема полягає в тому, що Ubuntu, здається, бачить усі накопичувачі пальців як знімні (в /sys/block/*/removable), але зовнішні жорсткі диски він не бачить так само.

Це дещо конкретніше, ніж Як виявити USB-пристрій?

Відповіді:


14

Якщо ви шукаєте змонтовані диски, простий

df

перерахує їх разом з усіма вашими іншими дисками, а також корисною інформацією.


2
але це дає всі блокові пристрої, не лише ті, що підключені через USB.
Джеремі Керр

9

Я рекомендую перевірити властивості udev пристроїв, зокрема ID_BUSвластивості:

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done

Це розплітає пристрої для мого вбудованого картридера, навіть коли картки не вставлено.
b_laoshi

@b_laoshi: Так, вони все ще будуть повідомляти як пристрої зберігання даних, але без засобів масової інформації.
Джеремі Керр

2

Я думаю

lsusb

дасть вам те, що ви хочете, принаймні, якщо я зрозумію, про що ви просите. (Звичайно, в ньому перераховані всі USB-пристрої, а не лише сховища.)


2

Лістинг тільки приєднані зберігання USB пристроїв

Редагувати: Коли у мене з’явиться певний час, я перегляну цю публікацію, щоб перелічити лише USB-пристрої. Наразі в ньому перераховані всі встановлені пристрої, на /mediaяких деякі люди можуть бути досить хорошими.

Перелік усіх вмонтованих пристроїв /media

Усі інші відповіді тут не вдається відфільтрувати або USB-пристрої, які не зберігаються, або USB-пристрої, що не зберігаються. Ось команда, яка повинна перелічити лише пристрої зберігання даних, підключені через USB. Одним винятком, який, ймовірно, не має значення для когось, є те, що це не відображатиме підключені оптичні накопичувачі USB із встановленим носієм.

Вимоги до цього для роботи

  • USB-пристрої повинні бути встановлені. Настільні ОС Ubuntu зазвичай автоматично встановлюються за замовчуванням
  • Носії повинні бути встановлені в /mediaкаталозі. Якщо ваш USB-пристрій налаштовано у fstab, щоб встановити десь ще, вам доведеться налаштувати наступні команди

Перелічення USB-накопичувачів
У моєму конкретному випадку для написаного сценарію я перераховую окремі розділи. Ось дві команди. Один буде перераховувати розділи приєднаних пристроїв, а інший буде просто перелічувати пристрої.

  • Лістингові розділи:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    Зразок виводу:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Пристрої лістингу:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    Вибірка зразка:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    

Що з розділами внутрішніх дисків, які вмонтовані /media?
muru

Це може спричинити проблему, але така, яка, мабуть, не торкнеться більшості користувачів. Я подумаю і оновлю пізніше.
b_laoshi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.