blkid
blkid(block id)是 Linux 下用于查询和显示块设备属性的命令行工具,能快速获取磁盘分区的 UUID、LABEL、TYPE(文件系统类型)等信息,常用于配置 /etc/fstab 或调试磁盘分区问题。
它底层会访问内核接口以及 libblkid 库(来自 util-linux 包),并可结合缓存提高效率。默认情况下,blkid 优先读取缓存(通常在 /run/blkid/blkid.tab):
- 如果缓存有记录,
blkid会直接返回 - 如果没有记录,才会去实际探测设备(读超级块)
blkid [选项] [设备路径...]- 如果不指定设备路径,
blkid会显示系统中所有已识别的块设备信息 - 如果指定设备路径(如
/dev/sda1),则只显示该设备的信息
| 选项 | 说明 |
|---|---|
-L <label> |
通过卷标(LABEL)查询设备 |
-U <UUID> |
通过 UUID 查找对应的设备 |
-s <tag> |
只显示指定的属性(如 UUID、TYPE、LABEL 等),想要显示多个属性,重复使用 -s <属性> |
-o <format> |
指定输出格式,常用格式:full(默认,完整格式)、value(只显示属性值)、list(简洁列表格式)、device(只显示设备路径) |
-p <dev> |
绕过缓存,直接探测设备的超级块,获取最新的元数据信息(需 root 权限) |
-i <dev> |
显示设备的低级信息,如扇区大小、设备类型等(需 root 权限) |
-u <list> |
限定扫描范围,list 可以是 filesystem、raid、crypto、other |
-k |
显示 blkid 支持识别的所有文件系统类型、RAID 类型、分区表类型 |
-g |
清除缓存 |
-h |
显示帮助信息 |
-v |
显示版本信息 |
1. 查看所有块设备信息
sudo blkid输出示例:
/dev/sda1: UUID="c3d4e2a0-58d3-4b8d-83d5-84c6ff1d7e92" TYPE="ext4"/dev/sda2: UUID="E4A2-1B3D" TYPE="swap"/dev/sdb1: UUID="F8A1-2B3C" TYPE="vfat" LABEL="USB_DISK"2. 查看指定设备信息
sudo blkid /dev/sdb1输出示例:
/dev/sdb1: UUID="F8A1-2B3C" TYPE="vfat" LABEL="USB_DISK"3. 只显示指定属性
# 只显示 UUID 和文件系统类型sudo blkid -s UUID -s TYPE /dev/sda14. 通过 UUID 查找设备
sudo blkid -U "c3d4e2a0-58d3-4b8d-83d5-84c6ff1d7e92"5. 以简洁列表格式输出
sudo blkid -o listman blkid- util-linux 项目