lsblk
是 Linux 系统中用于列出所有块设备及其层次结构的命令,以树状形式展示存储设备(如硬盘、分区、USB 设备等)的详细信息。以下是详细解释:
命令作用
- 显示系统中所有块设备(如磁盘、分区、RAID、LVM 逻辑卷等)的层级关系。
- 输出包含设备名称、大小、类型、挂载点等信息,帮助用户快速了解存储结构。
输出列说明
默认输出包含以下列:
列名 | 含义 |
---|---|
NAME | 设备名称(如 sda 、sdb1 、nvme0n1p2 )。 |
MAJ:MIN | 主设备号和次设备号(内核标识设备的数字)。 |
RM | 是否为可移动设备(1=是,0=否)。 |
SIZE | 设备容量(如 100G 、500M )。 |
RO | 是否为只读设备(1=只读,0=可读写)。 |
TYPE | 设备类型(disk =物理磁盘,part =分区,rom =光盘,lvm =LVM 卷等)。 |
MOUNTPOINT | 设备挂载点(如 / 、/boot ,未挂载则显示为空)。 |
常用选项
选项 | 作用 |
---|---|
-a | 显示所有设备(包括未挂载或空的设备)。 |
-d | 仅显示磁盘设备,不显示分区(如只显示 sda ,不显示 sda1 )。 |
-f | 显示文件系统信息(如文件系统类型、UUID、标签)。 |
-i | 使用 ASCII 字符显示树形结构(默认无此选项时用更简洁的符号)。 |
-o | 自定义输出列(如 lsblk -o NAME,SIZE,MOUNTPOINT )。 |
-n | 不显示标题行(常与 -o 配合使用,便于脚本处理)。 |
-p | 显示完整设备路径(如 /dev/sda )。 |
示例
-
查看所有块设备及挂载点:
lsblk
-
仅显示磁盘设备(不显示分区):
lsblk -d
-
显示文件系统信息(如 UUID 和类型):
lsblk -f
-
自定义输出列(名称、大小、类型、挂载点):
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
-
过滤特定设备(如查看所有 NVMe 磁盘):
lsblk | grep nvme
注意事项
- 权限问题:部分信息(如 LVM 逻辑卷)可能需要
sudo
权限才能完整显示。 - 树形结构:通过缩进表示设备层级(如
sda
是物理磁盘,sda1
是其分区)。 - 与
fdisk -l
的区别:lsblk
更直观显示层级,而fdisk -l
提供更底层的分区表信息。
典型应用场景
- 快速查看系统存储结构。
- 确认设备挂载状态(如未挂载的分区)。
- 获取设备 UUID 或文件系统类型(用于
/etc/fstab
配置)。 - 诊断存储设备连接问题(如 USB 设备未识别)。
通过 lsblk
,用户可以高效管理存储设备,无需深入解析复杂命令的输出。