Linux

如何查找給定塊設備的分區名稱?

  • April 16, 2019

給定一個塊設備(例如/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

引用自:https://unix.stackexchange.com/questions/500889