2

有没有一种简单的方法来确定给定分区的文件系统的十六进制 ID?比如说,我有一个 /dev/sda1 分区,它属于“Linux”类型,文件系统 ID 为 83(例如 fdisk 所示)。我需要从 bash 脚本中获取这个数字,而不需要解析 fdisk/sfdisk 的输出。

4

1 回答 1

3

分区 ID 存储在 MBR(或逻辑 ID 的 EMBR)中。因此它们不存储在设备本身中。即 /dev/sda1 不包含它的类型。

fdisk 和类似的命令确实会显示分区类型,并且旨在正确执行此操作。试图避开它们是没有意义的。

此 Linux shell 脚本将显示给定设备的分区 ID:

#!/bin/sh
fdisk -l | tr -d '*' | awk -v dev=$1 '$1 == dev { print $5 } '

.

# some_command /dev/sda1
83
于 2012-05-31T15:33:45.970 回答