做什么
list block devices——树状显示所有磁盘 / 分区 / 挂载点。看磁盘第一个命令。
实战
lsblk
# NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
# sda 8:0 0 30G 0 disk
# ├─sda1 8:1 0 29G 0 part /
# └─sda2 8:2 0 1G 0 part [SWAP]
# sdb 8:16 0 100G 0 disk
# └─sdb1 8:17 0 100G 0 part /data
常用参数
| 参数 | 含义 |
|---|---|
-f |
显示文件系统(type / UUID / label) |
-a |
含空设备 |
-p |
完整路径(/dev/sda1) |
-S |
看 SCSI 设备详情 |
-d |
只看物理盘(不展开分区) |
-J |
JSON 输出 |
-o ... |
自定义列 |
实战
lsblk -f
# NAME FSTYPE LABEL UUID MOUNTPOINTS
# sda1 ext4 abc-123-def /
# sdb1 xfs xyz-789 /data
lsblk -p # 完整路径
lsblk -d # 只看磁盘
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,UUID
# JSON 给脚本
lsblk -J | jq
配合其他命令
# 看分区类型
sudo fdisk -l
# 看 UUID(用于 fstab)
sudo blkid
# 看挂载
mount | column -t
findmnt # 树状
df -hT # 简洁
看新插的设备
# 插了 U 盘 / 新磁盘
dmesg | tail # 看内核识别
lsblk # 看是 /dev/sdc 还是别的
坑
- USB / 可移动设备名字不固定——sda、sdb、sdc 取决于插入顺序,开机时变化
- 用 UUID 持久挂载(fstab),别用
/dev/sdX - 容器 / 云 VM 看到的设备可能名字怪(vda, xvda, nvme0n1)——一切以 lsblk 输出为准