Linux系统中,查看设备UUID的常用命令和操作步骤有哪些?

UUID(Universally Unique Identifier)是Linux系统中用于唯一标识存储设备的全局唯一标识符,无论设备名称如何变化(如/dev/sda1变成/dev/sdb1),UUID始终保持不变,因此在fstab配置、磁盘管理等场景中广泛使用,本文将详细介绍在Linux系统中查看UUID的多种方法,涵盖常用命令、目录结构及配置文件解析,帮助用户根据实际需求选择合适的方式。

如何查看linux的uuid

使用lsblk命令查看UUID

lsblk(list block devices)是Linux系统中用于列出块设备信息的工具,默认显示设备名称、大小、挂载点等基本信息,通过添加-o选项可以指定显示UUID字段,操作简单直观。

操作步骤

  1. 打开终端,输入以下命令:

    lsblk -o NAME,UUID,FSTYPE,MOUNTPOINT

    NAME表示设备名称(如sda1),UUID表示文件系统UUID,FSTYPE表示文件系统类型(如ext4、xfs),MOUNTPOINT表示挂载点。

  2. 示例输出:

    NAME   UUID                                 FSTYPE MOUNTPOINT
    sda                                                               
    ├─sda1 123e4567-e89b-12d3-a456-426614174000 ext4   /          
    ├─sda2 89ab-cdef-1234-5678-90abcdef1234     swap   [SWAP]     
    └─sda3 5678-90ab-cdef-1234-5678-90abcdef12 vfat   /boot/efi  

    从输出中可以清晰看到每个分区的UUID及其对应的文件系统类型和挂载点。

注意事项

  • 若需要查看所有设备(包括隐藏设备),可添加-f选项:lsblk -f -o NAME,UUID,FSTYPE,MOUNTPOINT
  • 普通用户可能无法查看所有设备的UUID,需使用sudo获取管理员权限。

使用blkid命令查看UUID

blkid(block identifier)是专门用于显示块设备属性(包括UUID、文件系统类型、卷标等)的命令,输出格式简洁,支持过滤特定字段,是最常用的UUID查看工具之一。

操作步骤

  1. 基本用法:直接输入blkid,系统会列出所有已挂载文件系统的属性,包括UUID。

    blkid

    示例输出:

    /dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="ext4" PARTUUID="00000000-01"  
    /dev/sda2: UUID="89ab-cdef-1234-5678-90abcdef1234" TYPE="swap"  
    /dev/sda3: UUID="5678-90ab-cdef-1234-5678-90abcdef12" TYPE="vfat" PARTUUID="00000000-03"  
  2. 过滤UUID:若只想查看特定设备的UUID,可使用-s(显示指定字段)和-o(输出格式)选项,例如查看/dev/sda1的UUID:

    如何查看linux的uuid

    blkid -s UUID -o value /dev/sda1

    输出结果为纯UUID值:123e4567-e89b-12d3-a456-426614174000

注意事项

  • 对于未格式化的设备,blkid不会返回UUID信息。
  • LVM逻辑卷的UUID以LVM-开头(如UUID="LVM-abc123Def456Ghi789Jkl012"),可通过blkid /dev/vg_name/lv_name查看。

通过/dev/disk/by-uuid/目录查看

Linux系统会在/dev/disk/by-uuid/目录下自动为每个分区创建以UUID为名称的符号链接,链接指向实际的设备文件(如/dev/sda1),这种方法无需额外命令,通过目录结构即可直观查看UUID与设备的对应关系。

操作步骤

  1. 进入目录并查看内容:
    ls -l /dev/disk/by-uuid/

    示例输出:

    lrwxrwxrwx 1 root root 10 10月 1 10:00 123e4567-e89b-12d3-a456-426614174000 -> ../../sda1  
    lrwxrwxrwx 1 root root 10 10月 1 10:01 5678-90ab-cdef-1234-5678-90abcdef12 -> ../../sda3  
    lrwxrwxrwx 1 root root 10 10月 1 10:02 89ab-cdef-1234-5678-90abcdef1234 -> ../../sda2  

    每一行显示一个UUID及其对应的设备路径(如../../sda1表示/dev/sda1)。

优点

  • 直观易懂,无需记忆命令参数,适合快速定位特定UUID对应的设备。
  • 无需管理员权限,普通用户即可查看(需有目录读取权限)。

查看/etc/fstab文件获取UUID

/etc/fstab是Linux系统中的文件系统表,记录了系统启动时需要自动挂载的设备及其挂载点、文件系统类型、挂载选项等信息,设备字段通常使用UUID标识,因此可通过查看该文件获取已配置自动挂载分区的UUID。

操作步骤

  1. 使用文本编辑器或命令查看/etc/fstab文件:
    cat /etc/fstab

    示例输出:

    # /etc/fstab: static file system information.  
    UUID=123e4567-e89b-12d3-a456-426614174000 /     ext4    defaults 0 1  
    UUID=5678-90ab-cdef-1234-5678-90abcdef12 /boot/efi vfat    umask=0077,shortname=winnt 0 2  
    UUID=89ab-cdef-1234-5678-90abcdef1234 none  swap    sw 0 0  

    每行的第一个字段即为分区的UUID(如UUID=123e4567-e89b-12d3-a456-426614174000)。

注意事项

  • 该方法仅适用于已配置在/etc/fstab中的分区,未配置的分区不会显示。
  • 修改/etc/fstab文件需谨慎,错误的配置可能导致系统无法启动。

使用df命令结合工具链查看UUID

df命令主要用于显示磁盘空间使用情况,但可通过管道结合grepawk等工具提取UUID,适合需要关联挂载点和磁盘使用情况分析的场景。

操作步骤

  1. 查看df命令的输出,结合blkid提取UUID:
    df -Th | grep "^/dev/" | awk '{print $1, $7}' | while read device mountpoint; do blkid -s UUID -o value $device | xargs -I {} echo "$device -> UUID={}, $mountpoint"; done

    示例输出:

    如何查看linux的uuid

    /dev/sda1 -> UUID=123e4567-e89b-12d3-a456-426614174000, /  
    /dev/sda3 -> UUID=5678-90ab-cdef-1234-5678-90abcdef12, /boot/efi  

适用场景

  • 需要同时查看分区挂载点、磁盘空间使用情况和UUID时,此方法可一次性获取多维度信息。

特殊场景:LVM逻辑卷与RAID阵列的UUID查看

LVM逻辑卷UUID

LVM(Logical Volume Manager)逻辑卷的UUID可通过lvdisplay命令查看:

lvdisplay /dev/vg_name/lv_name

输出中的”LV UUID”字段即为逻辑卷的UUID。

软件RAID阵列UUID

软件RAID阵列(如/dev/md0)的UUID可通过mdadm命令查看:

sudo mdadm -D /dev/md0 | grep "UUID"

输出示例:UUID : a1b2c3d4-e5f6-7890-abcd-ef1234567890

不同方法对比总结

方法 命令/操作 适用场景 优点 缺点
lsblk lsblk -o NAME,UUID,FSTYPE 查看块设备及文件系统UUID 直观显示设备与UUID对应 需要解析输出列
blkid blkidblkid -s UUID 快速获取文件系统属性及UUID 简洁,支持过滤输出 不显示未格式化设备UUID
/dev/disk/by-uuid/ ls -l /dev/disk/by-uuid/ 通过路径查找UUID对应设备 无需命令,路径直观 仅显示已挂载或识别的设备
/etc/fstab cat /etc/fstab 查看已配置自动挂载的UUID 直接获取配置中的UUID 仅限已配置的分区
df+工具链 df | xargs blkid 结合磁盘使用情况分析UUID 可关联挂载点和空间使用 操作复杂,效率较低

相关问答FAQs

问题1:为什么同一个分区用lsblk和blkid查看的UUID格式不同?
解答:通常情况下,lsblk和blkid显示的UUID格式是一致的,但如果分区使用了多重挂载(如swap分区)或LVM逻辑卷,可能会出现差异,swap分区在lsblk中显示的UUID可能是文件系统UUID,而blkid可能同时显示设备UUID和文件系统UUID;LVM逻辑卷的UUID以”LVM-“开头,而其物理卷(PV)的UUID则是独立的,若分区被重新格式化,UUID会生成新的值,需确保查看的是当前分区的最新UUID。

问题2:如何通过UUID挂载一个新的分区?
解答:通过UUID挂载分区的步骤如下:

  1. 确认分区的UUID:使用blkid /dev/sdb1获取UUID,假设为”abcd1234-5678-90ef-ghij-klmnopqrstuv”;
  2. 创建挂载点:sudo mkdir /mnt/mydisk
  3. 临时挂载:sudo mount UUID=abcd1234-5678-90ef-ghij-klmnopqrstuv /mnt/mydisk -t ext4(ext4为文件系统类型,根据实际情况修改);
  4. 永久挂载:编辑/etc/fstab文件,添加行UUID=abcd1234-5678-90ef-ghij-klmnopqrstuv /mnt/mydisk ext4 defaults 0 2,保存后运行sudo mount -a测试配置是否正确,注意:确保文件系统类型、挂载选项(defaults)与分区实际属性一致,避免启动时挂载失败。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28098.html

(0)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • linux如何把一个文件夹下

    Linux中,可使用“mv 源文件夹/* 目标文件夹/”命令把一个

    2025年8月18日
    2300
  • Linux静态库如何快速上手?

    在 Linux 开发中,静态库(.a 文件)是预编译代码的集合,用于提高代码复用性和编译效率,它们会在编译时直接嵌入到最终可执行文件中,以下从创建、使用、管理三方面详细说明操作流程,遵循 Linux 标准工具链规范(GCC、AR),创建静态库步骤 1:编译源代码为目标文件将 .c 源文件编译为 .o 目标文件……

    2025年8月9日
    2000
  • Linux Kali环境下MySQL数据库的具体安装步骤是什么?

    在Linux Kali Linux系统中安装MySQL是许多安全研究和渗透测试任务中的常见需求,例如搭建测试环境、存储漏洞扫描数据或进行数据库安全评估,Kali Linux基于Debian,因此安装MySQL的过程与Debian/Ubuntu系统类似,但需要注意Kali的默认配置和依赖关系,以下是详细的安装步骤……

    3天前
    700
  • linux如何调用静态库

    Linux中调用静态库,需在编译时使用gcc或g++并指定静态库路径及库名,`gcc main.

    2025年8月16日
    1700
  • 为什么电脑会突然自动开机?

    ACPI唤醒事件是计算机系统通过ACPI规范定义的机制,允许系统从睡眠状态(如S3)被特定事件激活,这些事件可由外设(键盘、鼠标)、定时器或网络信号等触发,实现节能与快速恢复的平衡。

    2025年7月15日
    3900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信