📅  最后修改于: 2023-12-03 15:21:52.426000             🧑  作者: Mango
在 Linux 系统上,可以使用 fstab 文件来指定系统在引导时要挂载的文件系统。fstab 文件是一个文本文件,其中包含要挂载的文件系统的详细信息,包括挂载点、文件系统类型、选项以及设备的 UUID 或卷标等。本文将介绍如何从 fstab 文件中获取设备的 UUID。
在 fstab 文件中,每行表示一个文件系统的挂载信息。每行由若干个字段组成,字段之间用制表符或空格分隔。
以下是一个典型的 fstab 文件的示例:
# <文件系统> <挂载点> <文件系统类型> <选项> <dump> <fsck>
UUID=12ab34cd / ext4 errors=remount-ro 0 1
UUID=34cd56ef none swap sw 0 0
注释以 '#' 开始,可以出现在任何位置。然后是由字段组成的行。第一个字段是文件系统的 UUID 或卷标。第二个字段是挂载点,即文件系统要挂载到的目录。第三个字段是文件系统类型,例如 ext4、ntfs、vfat 等。第四个字段是挂载选项,例如读写权限、错误处理等。最后两个字段是与文件系统检查相关的信息。
获取设备的 UUID 可以使用以下命令:
$ blkid /dev/sda1
/dev/sda1: UUID="12ab34cd-56ef-78gh-90ij-12ab34cd56ef" TYPE="ext4" PARTUUID="12345678-01"
此外,还可以使用以下命令来获取几乎所有设备的 UUID:
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
└─sda1 ext4 root 12ab34cd-56ef-78gh-90ij-12ab34cd56ef /
上述命令将列出所有设备的 UUID、文件系统类型、卷标以及当前挂载点(如果已挂载)。
获取 fstab 文件中设备的 UUID,可以使用以下命令:
$ awk '$2=="/" {print $1}' /etc/fstab
UUID=12ab34cd
此命令将输出 fstab 文件中挂载点为 '/' 的设备的 UUID。其中,$2 表示 fstab 文件中的第二个字段,即挂载点;$1 表示 fstab 文件中的第一个字段,即设备的 UUID 或卷标。
通过以上两个命令,可以轻松地获取设备的 UUID,并从 fstab 文件中获取指定挂载点的设备的 UUID。此外,还可以使用其他工具来获取设备的 UUID,例如 blkid、lsblk 等。这些命令在处理文件系统时非常有用。