Linux
如何查找給定塊設備的分區名稱?
給定一個塊設備(例如
/dev/sda
),如何在腳本中確定其分區的名稱(如果有)(即無需使用者互動)?
lsblk
列印出所有相關的塊設備。這包括所述設備的分區。因為它當然包括設備本身並且lsblk
不允許排除特定設備,所以下面的範例解決方案只使用了倒置grep
:lsblk -o KNAME -n /dev/mmcblk0 | grep -v "^mmcblk0$"
對於完整路徑(這也簡化了 grep 字元串的生成),可以使用
-p
,例如:lsblk -po KNAME -n /dev/mmcblk0 | grep -v "^/dev/mmcblk0$"
有幾個工具可以用於此。我經常使用的工具之一是
fdisk
. fdisk 將列出塊設備的分區並為您說明確切的大小。fdisk
是一個非常通用的程序,它還可以在儲存方面修改分區的內部屬性,所以使用它要非常小心。在列出分區的情況下,您只需執行以下命令:
fdisk -l <name of block device>
. 從這一點開始,您就可以看到您尋找的分區的確切大小、名稱和類型。如果您想fdisk
進一步用於與硬碟相關的其他用途,請使用以下man
命令打開手冊頁fdisk
:
man fdisk