Jak wyświetlić listę wszystkich urządzeń pamięci masowej (pendrive / zewnętrzne dyski twarde) podłączonych przez USB z wiersza poleceń?

18

Chciałbym wymienić TYLKO urządzenia podłączone przez USB.

Problem polega na tym, że Ubuntu wydaje się widzieć wszystkie dyski USB jako wymienne ( /sys/block/*/removablewewnątrz), ale nie widzi zewnętrznych dysków twardych w ten sam sposób.

Jest to nieco bardziej szczegółowe niż Jak wykryć urządzenie USB?

użytkownik1556438
źródło

Odpowiedzi:

14

Jeśli szukasz zamontowanych dysków, proste

df

wyświetli je wraz ze wszystkimi innymi dyskami wraz z przydatnymi informacjami.

Jazz
źródło
2
ale daje to wszystkie urządzenia blokowe, nie tylko podłączone przez USB.
Jeremy Kerr
9

Polecam sprawdzenie właściwości udev urządzeń, w szczególności ID_BUSwłaściwości:

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done
Jeremy Kerr
źródło
To wyrzuca urządzenia dla mojego wbudowanego czytnika kart, nawet jeśli nie ma włożonych kart.
b_laoshi,
@b_laoshi: tak, będą nadal zgłaszać się jako urządzenia pamięci, ale bez nośników.
Jeremy Kerr
2

Myślę

lsusb

da ci to, czego chcesz, przynajmniej jeśli rozumiem, o co pytasz. (Oczywiście zawiera wszystkie urządzenia USB, a nie tylko pamięć masową).

Kelley
źródło
2

Wymieniając tylko załączone pamięci USB urządzenia

Edycja: Kiedy będę miał trochę czasu, przejdę ponownie do tego postu, aby wyświetlić listę tylko urządzeń USB. Na razie wyświetla listę wszystkich zamontowanych urządzeń, /mediaktóre mogą być wystarczające dla niektórych osób.

Lista wszystkich podłączonych urządzeń /media

Wszystkie pozostałe tutaj odpowiedzi wydają się nie być w stanie odfiltrować urządzeń pamięci USB innych niż USB lub urządzeń USB innych niż pamięci masowe. Oto polecenie, które powinno zawierać listę tylko urządzeń pamięci masowej podłączonych przez USB. Jednym wyjątkiem, który prawdopodobnie nie ma znaczenia dla nikogo, jest to, że nie będzie wyświetlać podłączonych napędów optycznych USB z zamontowanymi nośnikami.

Wymagania, aby to działało

  • Urządzenia USB muszą być zamontowane. Systemy operacyjne Ubuntu zazwyczaj domyślnie montują się automatycznie
  • Media muszą być zamontowane w /mediakatalogu. Jeśli twoje urządzenie USB jest skonfigurowane w fstab do montowania w innym miejscu, będziesz musiał dostosować następujące polecenia

Lista urządzeń pamięci USB
W moim szczególnym przypadku dla skryptu, który piszę, wymieniam poszczególne partycje. Oto dwa polecenia. Jedna wyświetli listę partycji podłączonych urządzeń, a druga po prostu listę urządzeń.

  • Listowanie partycji:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    Przykładowe dane wyjściowe:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • Urządzenia z listowaniem:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    Przykładowe wyniki:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    
b_laoshi
źródło
Co z partycjami dysków wewnętrznych, w które są montowane /media?
muru
To stanowiłoby problem, ale taki, który prawdopodobnie nie wpłynie na większość użytkowników. Zastanowię się i zaktualizuję później.
b_laoshi,