linux显示块设备信息是什么-blkid 命令使用与实例

linux显示块设备信息是什么-blkid 命令使用与实例

linux blkid 命令


blkid 命令简介

blkid 是 Linux 系统中用来识别和展示块设备属性的工具。它能够显示硬盘、分区以及 USB 存储设备等块设备的文件系统类型、UUID(唯一标识符)、卷标(LABEL)以及其他相关属性。

核心功能

  • 识别设备所使用的文件系统类型
  • 获取设备的唯一标识 UUID
  • 查看设备的标签信息 LABEL
  • 展示设备容量及其他属性

基本命令格式

blkid [参数] [设备路径...]

常用参数说明

参数 描述
`-c ` 指定缓存文件路径,默认为 /etc/blkid.tab
`-g` 清理并更新缓存数据
`-o ` 定义输出样式(支持 full, value, list, device, udev)
`-p` 执行底层超级块检测,跳过缓存读取
`-s ` 仅显示特定字段内容(例如 UUID, TYPE, LABEL)
`-U ` 通过 UUID 查询对应设备名称
`-L ` 通过 LABEL 查询对应的设备路径
`-i` 显示 I/O 限制相关信息
`-h` 查看帮助文档
`-V` 显示程序版本号

操作案例

1. 显示所有存储设备详细信息

示例

sudo blkid
结果样例:

/dev/sda1: UUID="5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f" TYPE="ext4"  /dev/sda2: UUID="6b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q" TYPE="swap"  /dev/sdb1: LABEL="DATA" UUID="9a8b7c6d-5e4f-3g2h-1i0j-9k8l7m6n5o4p" TYPE="xfs"

2. 查看某个具体设备的信息

示例

sudo blkid /dev/sda1
输出参考:

/dev/sda1: UUID="5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f" TYPE="ext4"

3. 只获取某设备的 UUID 值

示例

sudo blkid -s UUID -o value /dev/sda1
输出参考:

5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f

4. 通过 UUID 定位设备名称

示例

sudo blkid -U 5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f
输出参考:

/dev/sda1

5. 以列表方式展示设备信息

示例

sudo blkid -o list
输出参考:

device     fs_type label    mount point    UUID ------------------------------------------------------------------------------- /dev/sda1  ext4             /              5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f /dev/sda2  swap             [SWAP]         6b4c5d6e-7f8g-9h0i-1j2k-3l4m5n6o7p8q /dev/sdb1  xfs    DATA      /mnt/data      9a8b7c6d-5e4f-3g2h-1i0j-9k8l7m6n5o4p

典型应用场合

1. 在 fstab 文件中使用 UUID 挂载设备

编辑 /etc/fstab 时建议使用 UUID 而非设备名进行挂载,因为设备名可能在重启后发生变化:

示例

UUID=5a3a1e7b-1a2b-4c3d-8e9f-0a1b2c3d4e5f / ext4 defaults 0 1

2. 在脚本中自动识别设备路径

可以在自动化脚本中调用 blkid 实现动态查找设备:

示例

#!/bin/bash

DATA_PARTITION=$(sudo blkid -L “DATA”)
if [ -n “$DATA_PARTITION” ]; then
echo “找到数据分区: $DATA_PARTITION”
mount $DATA_PARTITION /mnt/data
else
echo “未找到数据分区”
fi

3. 找出尚未挂载的文件系统

示例

sudo blkid | grep -v “$(mount | awk ‘{print $1}’)”


常见疑问解答

Q1: 为什么要用 sudo 运行 blkid?

A: 普通用户权限不足以访问全部设备信息,使用 sudo 可确保完整获取设备属性。

Q2: blkid 和 lsblk 的区别

A:

  • lsblk 主要用于查看设备结构及基础信息(如设备名、大小、挂载点)
  • blkid 更侧重于展示文件系统的细节(包括 UUID、文件系统类型、卷标等)

Q3: 如何刷新 blkid 缓存?

A: 使用如下命令刷新缓存:

示例

sudo blkid -g
或者直接绕过缓存进行低级探测:

示例

sudo blkid -p


总结

blkid 是 Linux 系统管理过程中非常实用的命令,尤其适用于处理磁盘和文件系统相关的任务。通过学习本文内容,你将能够:

  1. 掌握 blkid 的主要用途和命令格式
  2. 使用不同参数获取所需的设备详情
  3. 将该命令应用于实际运维场景
  4. 解决常见的设备识别问题

熟练使用 blkid 命令有助于提升你在 Linux 系统中对存储设备的管理效率。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享