📜  从 fstab 获取 UUID (1)

📅  最后修改于: 2023-12-03 15:21:52.426000             🧑  作者: Mango

从 fstab 获取 UUID

在 Linux 系统上,可以使用 fstab 文件来指定系统在引导时要挂载的文件系统。fstab 文件是一个文本文件,其中包含要挂载的文件系统的详细信息,包括挂载点、文件系统类型、选项以及设备的 UUID 或卷标等。本文将介绍如何从 fstab 文件中获取设备的 UUID。

fstab 文件格式

在 fstab 文件中,每行表示一个文件系统的挂载信息。每行由若干个字段组成,字段之间用制表符或空格分隔。

以下是一个典型的 fstab 文件的示例:

# <文件系统>        <挂载点>     <文件系统类型>  <选项>          <dump>  <fsck>
UUID=12ab34cd  /           ext4          errors=remount-ro  0       1      
UUID=34cd56ef  none        swap          sw                 0       0      

注释以 '#' 开始,可以出现在任何位置。然后是由字段组成的行。第一个字段是文件系统的 UUID 或卷标。第二个字段是挂载点,即文件系统要挂载到的目录。第三个字段是文件系统类型,例如 ext4、ntfs、vfat 等。第四个字段是挂载选项,例如读写权限、错误处理等。最后两个字段是与文件系统检查相关的信息。

如何获取设备 UUID

获取设备的 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

获取 fstab 文件中设备的 UUID,可以使用以下命令:

$ awk '$2=="/" {print $1}' /etc/fstab
UUID=12ab34cd

此命令将输出 fstab 文件中挂载点为 '/' 的设备的 UUID。其中,$2 表示 fstab 文件中的第二个字段,即挂载点;$1 表示 fstab 文件中的第一个字段,即设备的 UUID 或卷标。

总结

通过以上两个命令,可以轻松地获取设备的 UUID,并从 fstab 文件中获取指定挂载点的设备的 UUID。此外,还可以使用其他工具来获取设备的 UUID,例如 blkid、lsblk 等。这些命令在处理文件系统时非常有用。