lsblk 命令详解
更新时间:2026-09-17。「一个命令一个文档」系列,属于磁盘与文件系统族。给服务器加盘、分区、挂载、写 fstab 之前,先用它把"有哪些盘、分了什么区、挂在哪"看清楚。
lsblk 读 sysfs,按父子关系树展示块设备(磁盘 → 分区 → 其上的 LVM/RAID/文件系统),不实际读盘,安全无副作用。
一、常用法
bash
lsblk # 树状:NAME 大小 类型 是否可移动 挂载点
lsblk -f # 显示文件系统类型、LABEL、UUID、挂载点(挂盘/写 fstab 最常用)
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT,MODEL,SERIAL # 自定义列
lsblk -p # 显示完整设备路径 /dev/sda1
lsblk -t # 显示调度器等拓扑信息
lsblk -d -o NAME,SIZE,ROTA,MODEL # 只看整盘(-d),ROTA=1 机械盘/0 SSD/NVMe| 关键列 | 含义 |
|---|---|
| NAME | sda/sda1、nvme0n1p1、dm-0、vg-lv、loop |
| TYPE | disk 整盘 / part 分区 / lvm / part / rom / loop |
| SIZE | 容量 |
| MOUNTPOINT | 已挂载位置(空=未挂载) |
-f FSTYPE/UUID | 文件系统与唯一标识,fstab 推荐用 UUID |
二、典型场景
- 新盘上线:
lsblk看到一块没有分区表/挂载点的sdb,确认容量与 MODEL/SERIAL 没认错盘(在多盘机器上千万别按 sda/sdb 名字操作,重启后名字可能变,用 UUID 或 WWID)。 - 搞清层级:分区上是 LUKS、LVM(
sda2 → vg-lv(dm-0))还是 md RAID,树状结构一眼看清。 - 写 /etc/fstab:用
lsblk -f/blkid 拿 UUID,写UUID=xxx /data ext4 defaults 0 2,比设备名稳定。 - 配合
mount/findmnt确认当前实际挂载(lsblk 显示的是带 mountpoint 的设备视图,fstab 是配置,二者可能不一致)。
三、和 blkid/findmnt/df 的分工
lsblk:设备/分区树 + 容量 + 挂载点的结构总览。- blkid:精确打印某分区的 UUID/LABEL/文件系统,脚本取值用。
findmnt:查挂载关系与选项(findmnt /data)。- df -h:看已挂载文件系统用量(剩多少空间),不列未挂载盘。
相关命令
取 UUID 用 blkid,空间用量见 df/磁盘 FAQ,启用 swap 用 swapon,PCI 控制器用 lspci。
总结
lsblk 以树状安全地列出磁盘→分区→LVM/RAID→挂载点:-f 带文件系统/UUID/LABEL、-o 自定义列、-d 只看整盘、ROTA 判旋转/固态;它是加盘挂盘和写 fstab 的第一步,多盘环境认盘用 UUID/MODEL/SERIAL 而非易变的 sda 名,取 UUID 配合 blkid、看用量配合 df。