简介
可以把它想象成查看一栋办公楼的建筑蓝图:
- 建筑:磁盘驱动器(物理存储)。
- 房间:分区(逻辑区域)。
- 房间名称:挂载点(例如
/home这样的访问路径)。
在本实验中,你将使用 lsblk 查看这份蓝图。
这种分层视图很重要,因为 Linux 存储是分阶段构建的。物理或虚拟设备可能包含分区,分区可能包含文件系统,而这些文件系统随后可以挂载到主目录树中。
列出所有块设备(lsblk)
使用 lsblk(List Block Devices,列出块设备)查看存储蓝图。
lsblk
输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop /snap/bare/5
...
vda 252:0 0 40G 0 disk
├─vda1 252:1 0 1M 0 part
└─vda3 252:3 0 39.8G 0 part /
理解这棵树:
- NAME:
vda是磁盘,vda1是分区。loopX是虚拟设备,暂时可以忽略。 - SIZE:容量,例如 40G。
- TYPE:
disk表示磁盘,part表示分区,loop表示回环设备。 - MOUNTPOINTS:访问数据的位置,例如
/表示根目录。
这就是 lsblk 对初学者特别有帮助的原因。它不仅显示名称,还显示对象之间的关系,帮助你了解哪些存储对象建立在其他对象之上。
保存这份蓝图:
lsblk > devices.txt
筛选物理磁盘(lsblk -d)
信息太多了?只显示磁盘并隐藏分区。
使用 -d(device,设备)选项:
lsblk -d
输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 4K 1 loop ...
vda 252:0 0 40G 0 disk
分区(vda1、vda2)不再显示。
该命令只列出顶层设备。
在完整的树状视图和顶层设备视图之间切换非常有用,因为排查存储问题时,你通常需要在「有哪些磁盘?」和「这块磁盘是如何划分的?」之间切换。
保存这个列表:
lsblk -d > disks.txt
检查文件系统(lsblk -f)
这些分区使用什么格式?
使用 -f(filesystem,文件系统)选项查看文件系统类型和 UUID。
lsblk -f
输出:
NAME FSTYPE FSVER LABEL UUID ...
vda
├─vda2 vfat FAT32 8E24-7BB2 ...
└─vda3 ext4 1.0 7504cd7e-f775... ...
- FSTYPE:文件系统类型,例如
ext4(Linux)和vfat(EFI)。 - UUID:唯一标识符(类似指纹),自动挂载时非常重要。
UUID 很重要,因为设备名称有时会根据启动顺序或连接的硬件发生变化。UUID 可以为配置提供更稳定的标识符。
保存详细信息:
lsblk -f > filesystems.txt
检查精确大小(lsblk -b)
脚本需要精确的字节数吗?
使用 -b(bytes,字节)选项,移除「G」或「M」等单位。
原始字节输出特别适合脚本和自动化场景,因为这些场景更重视精确数值,而不是便于阅读的格式。
lsblk -b
输出:
NAME ... SIZE ...
vda ... 42949672960 ...
保存原始数据:
lsblk -b > sizes.txt
总结
在本实验中,你学习了如何使用 lsblk 命令读取 Linux 存储的「蓝图」。
lsblk:显示磁盘(建筑)和分区(房间)的树状结构,其中包括虚拟回环设备。- **
lsblk -d**:筛选视图,只显示顶层设备并忽略分区。 - **
lsblk -f**:显示「内部装饰」(文件系统类型)和唯一标识符(UUID)。 - **
lsblk -b**:以字节为单位提供精确的大小数据。
理解这些存储设备,是管理它们的第一步——无论是添加新硬盘、调整分区大小,还是检查服务器磁盘空间为何已满。



