$ cat /proc/partitions
major minor #blocks name
8 0 976762584 sda
8 1 99998720 sda1
8 2 1 sda2
8 3 103561216 sda3
8 4 291514368 sda4
8 5 1998848 sda5
8 16 31506432 sdb
8 17 31505439 sdb1
Я хочу провести различие между физическими дисками (/dev/sda
) и логическими дисками (/dev/sda1
) от /proc/partitions
выхода./Proc/разделы мажорные и минорные номера для обнаружения физических дисков и разделов
- Один простой способ я вижу, чтобы проверить с каким-то регулярное выражение шаблон заканчивается ли это с целым или нет
- Как я вижу выход на моей машине
sda
имеет наименьшее второстепенное значение, чем всеsdaN
записей - проверки для существование
/sys/block/[NAME]
Поэтому я буду стараться читать/sys/block/sdaN
каталоги (которые могут выйти из строя) и/sys/block/sda
(что получится)
Я не знаю, какой из них является надежным и есть ли другие способы?
Кроме того, как я могу надежно сделать древовидную структуру, как sda : {sda1, sda2, sda3, sda4, sda4}, sdb : {sdb1}
- только по имени
- незначительных номера
- снова смотреть в
/sys/block
- положения (Это подтверждает, что sda1 будет всегда приходит после sda? Например, логическая запись раздела всегда появляется после записи физического диска?)
Вы знаете, что все разделы для конкретного блочного устройства должны быть подкаталогами под родительским каталогом? – Petesh
Попробуйте выполнить команду 'lsblk' – Peter