Как составить список ВСЕХ подключенных жестких дисков удобным для сценариев способом? Все - означает как смонтированный, так и не смонтированный. Подходит для сценариев - означает то, что я могу использовать для (u) монтирования в моем сценарии оболочки с минимальным grep'ing или sed'ing.

Моя задача - написать скрипт, который при запуске выяснит, где находится жесткий диск (если он вообще подключен), и смонтировать его. В моем скрипте мне нужен какой-то способ получить список доступных устройств в /dev. Какой инструмент я должен использовать в моем сценарии?

Вот варианты, которые я рассмотрел:

  • fdisk -l дает гораздо больше информации, чем мне нужно - немного сложно разобрать вывод в оболочке
  • parted -l не выводит список не смонтированных разделов, а также выводит много дополнительной информации
  • лучший вывод cat /proc/partitions но не выводит список не смонтированных разделов

Какой инструмент лучше всего подходит для моей задачи?

Чтобы уточнить, откуда я, вот моя ситуация:

На некоторых компьютерах пользователь подключит жесткий диск через USB или SATA. Затем пользователь перезагружает ПК. Я ничего не знаю об устройстве HDD, могу только предположить, что оно имеет один раздел с файловой системой ext4. Устройство может отображаться как /dev /sda или /dev /sdb. У меня есть доступ su к устройству, и я могу добавить свой скрипт в /etc/rc.local или в любое другое место, но у меня есть этот доступ только перед передачей ПК пользователю.

2 ответа2

1

На дистрибутивах, которые имеют удиски

 udisks --enumerate-device-files | grep -v ^/dev/disk
1

Возможно blkid который дает строки вида:

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

Также вы можете использовать эти UUID в fstab: UUID="<UUID>" может заменить путь к устройству /dev/sdXX .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .