服务器测评网
我们一直在努力

Linux查询UUID命令是什么?如何查看系统设备UUID?

在Linux系统中,UUID(Universally Unique Identifier,通用唯一标识符)是一个用于唯一标识存储设备、文件系统或分区的128位标识符,它由32个十六进制数字组成,通常以8-4-4-4-12的格式表示(123e4567-e89b-12d3-a456-426614174000),由于UUID具有全局唯一性,即使在不同的系统中也不会重复,因此常用于/etc/fstab文件中挂载设备、磁盘管理以及系统配置等场景,本文将详细介绍在Linux系统中查询UUID的多种方法,包括使用blkidlsblksudo fdisk -lls -l /dev/disk/by-uuid/等命令,并分析不同方法的适用场景和输出结果。

Linux查询UUID命令是什么?如何查看系统设备UUID?

使用blkid命令查询UUID

blkid是Linux系统中用于查看块设备属性(包括UUID、文件系统类型、LABEL等)的常用命令,它需要root权限或sudo权限才能运行,能够显示系统中所有已挂载或未挂载的块设备的UUID信息。

基本语法

sudo blkid

输出示例

执行上述命令后,系统会列出所有块设备的详细信息,

/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00000000-01"
/dev/sdb2: UUID="abcdef12-3456-7890-abcd-ef1234567890" BLOCK_SIZE="4096" TYPE="swap" PARTUUID="00000000-02"
/dev/nvme0n1p3: UUID="9876fedc-4321-0987-ba98-765432109876" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="00000000-03"

从输出中可以看出,每个设备都明确标注了UUIDTYPE(文件系统类型)和PARTUUID(分区UUID),如果只想查询特定设备的UUID,可以在命令后指定设备路径,

sudo blkid /dev/sda1

输出结果为:

/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00000000-01"

优点与局限性

  • 优点:命令简洁,输出信息全面,适合快速查看多个设备的UUID。
  • 局限性:需要root权限,且对于某些虚拟设备或未格式化的分区可能无法显示UUID。

使用lsblk命令查询UUID

lsblk(list block devices)命令以树状结构列出所有块设备的信息,包括设备名称、大小、挂载点、UUID等,相比blkidlsblk更侧重于设备层级关系,适合查看磁盘分区的结构。

基本语法

lsblk -f

选项-f用于显示文件系统信息,包括UUID、LABEL和文件系统类型。

Linux查询UUID命令是什么?如何查看系统设备UUID?

输出示例

执行命令后,输出如下:

NAME   FSTYPE   UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 ext4     123e4567-e89b-12d3-a456-426614174000  45.2G   20%   /
├─sda2 swap     abcdef12-3456-7890-abcd-ef1234567890          -   [SWAP]
└─sda3 xfs      9876fedc-4321-0987-ba98-765432109876  100G    5%   /data
nvme0n1
└─nvme0n1p3 ext4  5555aaaa-bbbb-cccc-dddd-eeeeeeeeeeee  200G   10%   /mnt

从输出中可以看出,lsblk -f清晰地展示了设备名(NAME)、文件系统类型(FSTYPE)、UUID(UUID)以及挂载点(MOUNTPOINT)等信息,如果需要更简洁的输出,可以使用grep命令过滤:

lsblk -f | grep UUID

优点与局限性

  • 优点:以树状结构展示设备层级关系,适合复杂磁盘管理场景。
  • 局限性:默认不显示UUID,需结合-f选项;对于未挂载的设备,可能不显示UUID信息。

使用sudo fdisk -l命令查询UUID

sudo fdisk -l命令用于列出磁盘分区的详细信息,包括起始扇区、结束扇区、扇区数量以及文件系统类型,虽然该命令不直接显示UUID,但结合其他工具可以间接获取UUID。

基本语法

sudo fdisk -l

输出示例

执行命令后,输出如下:

Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device     Boot     Start        End    Sectors   Size Id Type
/dev/sda1  *         2048   976899071   976897024 465.8G 83 Linux
/dev/sda2       976901118 1048575999   71674882  34.2G  5 Extended
/dev/sda5       976901120 1048575999   71674880  34.2G 82 Linux swap / Solaris
/dev/sda3      1048577024 1048575999        -975    480K  5 Extended

从输出中可以看到分区表信息,但未显示UUID,此时可以结合blkid命令获取UUID:

sudo blkid /dev/sda1

优点与局限性

  • 优点:适合查看磁盘分区的物理布局和分区类型。
  • 局限性:不直接显示UUID,需结合其他命令使用;输出信息较多,不易快速定位UUID。

使用ls -l /dev/disk/by-uuid/命令查询UUID

Linux系统在/dev/disk/by-uuid/目录下为每个分区创建了以UUID为名称的符号链接,通过查看该目录的内容,可以直接获取所有分区的UUID及其对应的设备路径。

Linux查询UUID命令是什么?如何查看系统设备UUID?

基本语法

ls -l /dev/disk/by-uuid/

输出示例

执行命令后,输出如下:

total 0
lrwxrwxrwx 1 root root 10 Dec 1 10:00 123e4567-e89b-12d3-a456-426614174000 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 1 10:01 5555aaaa-bbbb-cccc-dddd-eeeeeeeeeeee -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 10 Dec 1 10:02 9876fedc-4321-0987-ba98-765432109876 -> ../../sda3
lrwxrwxrwx 1 root root 10 Dec 1 10:03 abcdef12-3456-7890-abcd-ef1234567890 -> ../../sda2

从输出中可以看出,每个UUID都对应一个符号链接,指向实际的设备路径(如../../sda1),这种方法无需root权限,适合快速查看所有分区的UUID。

优点与局限性

  • 优点:无需root权限,直观显示UUID与设备的对应关系。
  • 局限性:仅适用于已分配UUID的分区,未格式化的分区可能不会出现在该目录中。

查询UUID方法的对比与选择

为了方便选择合适的查询方法,以下通过表格对比不同命令的特点:

命令 需要root权限 适用场景 局限性
sudo blkid 设备UUID、文件系统类型、LABEL 快速查看多个设备的UUID 需要root权限
lsblk -f 设备层级、UUID、挂载点 复杂磁盘管理、查看分区结构 默认不显示UUID,需加-f选项
sudo fdisk -l 分区物理布局、文件系统类型 查看磁盘分区表、物理结构 不直接显示UUID
ls -l /dev/disk/by-uuid/ UUID与设备的符号链接 快速获取UUID与设备的对应关系 仅适用于已分配UUID的分区

在Linux系统中,查询UUID的方法多种多样,用户可以根据实际需求选择合适的命令。blkid命令适合快速获取多个设备的UUID;lsblk -f擅长展示设备层级关系;sudo fdisk -l侧重于磁盘分区物理结构;而ls -l /dev/disk/by-uuid/则提供了无需root权限的直观查看方式,掌握这些方法,能够帮助用户更高效地管理磁盘设备、配置文件系统以及调试系统问题,在实际操作中,建议结合多种命令的使用,以获取更全面的设备信息。

赞(0)
未经允许不得转载:好主机测评网 » Linux查询UUID命令是什么?如何查看系统设备UUID?