$ 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
我想從/proc/partitions
輸出物理磁盤(/dev/sda
)和邏輯磁盤(/dev/sda1
)之間進行區分。的/ 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