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/*/removable
wewną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?
command-line
usb
użytkownik1556438
źródło
źródło
Polecam sprawdzenie właściwości udev urządzeń, w szczególności
ID_BUS
właściwości:źródło
Myślę
da ci to, czego chcesz, przynajmniej jeśli rozumiem, o co pytasz. (Oczywiście zawiera wszystkie urządzenia USB, a nie tylko pamięć masową).
źródło
Wymieniając tylko załączone pamięci USB urządzeniaEdycja: 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ń,
/media
któ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
/media
katalogu. Jeśli twoje urządzenie USB jest skonfigurowane w fstab do montowania w innym miejscu, będziesz musiał dostosować następujące poleceniaLista 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:
Urządzenia z listowaniem:
lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
Przykładowe wyniki:
źródło
/media
?