Jak wyświetlić WSZYSTKIE podłączone urządzenia HDD w sposób przyjazny dla skryptu?

0

Jak wyświetlić WSZYSTKIE podłączone urządzenia HDD w sposób przyjazny skryptom? Wszystko - oznacza zarówno zamontowany, jak i niezamontowany. Przyjazny dla skryptów - oznacza coś, czego mogę użyć do (u) montowania w moim skrypcie powłoki przy minimalnym grep'ingu lub sed'ingu.

Moim zadaniem jest napisanie skryptu, który podczas uruchamiania zorientuje się, gdzie jest dysk twardy (jeśli w ogóle jest podłączony) i zamontuje go. W moim skrypcie potrzebuję sposobu, aby uzyskać listę dostępnych urządzeń w katalogu / dev. Jakiego narzędzia należy używać w skrypcie?

Oto opcje, które rozważałem:

  • fdisk -l daje o wiele więcej informacji, niż potrzebuję - trochę trudniej jest parsować dane wyjściowe w powłoce
  • parted -l nie wyszczególnia niezamontowanych partycji, a także udostępnia wiele dodatkowych informacji
  • cat /proc/partitions najlepsze wyjście, ale nie zawiera listy nie zamontowanych partycji

Jakie narzędzie najlepiej pasuje do mojego zadania?

Aby wyjaśnić nieco, skąd pochodzę, oto moja sytuacja:

Na niektórych komputerach użytkownik podłącza dysk twardy przez USB lub SATA. Następnie użytkownik uruchomi ponownie komputer. Nie wiem nic o urządzeniu HDD, mogę tylko założyć, że ma jedną partycję z systemem plików ext4. Urządzenie może pojawić się jako / dev / sda lub / dev / sdb. Mam dostęp do urządzenia i mogę dodać skrypt do /etc/rc.local lub gdziekolwiek indziej, ale mam ten dostęp tylko przed przekazaniem komputera użytkownikowi.

Vladimir
źródło

Odpowiedzi:

1

Być może blkidco daje linie formularza:

/dev/sdXX: UUID="<UUID>" TYPE="<fstype>"

Możesz także użyć tych identyfikatorów UUID w fstab: UUID="<UUID>"można zastąpić ścieżkę urządzenia /dev/sdXX.

Dan D.
źródło
1

Na dystrybucjach z udiskami

 udisks --enumerate-device-files | grep -v ^/dev/disk
Florian Diesch
źródło