跳转到内容

lsblk

lsblk 是 Linux 系统中用于列出块设备信息的实用工具,能以树形结构展示系统中所有的磁盘、分区及其他块设备,帮助用户快速了解存储设备的布局和关系。

Terminal window
lsblk [选项] [设备名]
  • 若不指定设备名,lsblk 会列出所有可见的块设备
  • 若指定设备名(如 /dev/sda),则仅显示该设备的信息

设备名只能是设备节点路径,不能是 UUID。

默认输出包含以下关键列:

列名 说明
NAME 设备名称(如 sda、sda1)
MAJ:MIN 主设备号和次设备号
RM 是否为可移动设备(1 表示可移动,0 表示固定)
SIZE 设备大小
RO 是否为只读设备(1 表示只读,0 表示可写)
TYPE 设备类型(disk 表示磁盘,part 表示分区,loop 表示 iso 等)
MOUNTPOINT 设备的挂载点(若已挂载)
选项 说明 示例
-a 显示所有块设备(包括空设备) lsblk -a
-b 以字节为单位显示设备大小 lsblk -b
-d 仅显示磁盘设备,不显示分区 lsblk -d
-e <主设备号> 排除指定类型的设备 lsblk -e 1,7
-f 显示文件系统信息(类型、UUID、挂载点等) lsblk -f
-l 以精简列表形式显示(不换行) lsblk -l
-n 不显示标题行 lsblk -n
-o 自定义输出列 lsblk -o NAME,SIZE,TYPE
-p 显示设备的完整路径(如 /dev/sda 而非 sda) lsblk -p

1. 列出所有块设备

Terminal window
lsblk

输出示例:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 232.4G 0 part /
sr0 11:0 1 1024M 0 rom

2. 显示文件系统信息

Terminal window
lsblk -f

输出示例:

Terminal window
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat 5E8A-1B7D /boot/efi
└─sda2 ext4 1a2b3c4d-5e6f-7g8h-9i0j-1k2l3m4n5o6p /
sr0

3. 仅显示磁盘

Terminal window
lsblk -d

输出示例:

Terminal window
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 388.4M 1 disk
sdb 8:16 0 186M 1 disk
sdc 8:32 0 4G 0 disk [SWAP]

4. 自定义输出列

Terminal window
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT

输出示例:

NAME SIZE TYPE MOUNTPOINT
sda 388.4M disk
sdb 186M disk
sdc 4G disk [SWAP]

5. 使用主设备号排除指定类型设备

lsblk -a 列出所有设备(包括空设备),可以使用 -e 排除指定主设备号的设备:

Terminal window
lsblk -a -e 1,7

输出示例(排除了 ram 和 loop 设备):

Terminal window
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 388.4M 1 disk
sdb 8:16 0 186M 1 disk
sdc 8:32 0 4G 0 disk [SWAP]