获取块设备的文件系统十六进制ID,如例如, “FDISK”

时间:2012-05-31 14:46:20

标签: bash filesystems block-device

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

1 个答案:

答案 0 :(得分:3)

分区ID存储在MBR(或逻辑的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