用途:lsblk 用于以树状层级列出系统中的块设备,包括磁盘、分区、LVM 逻辑卷、LUKS 容器及其挂载点,并可按需显示文件系统、UUID、标签、型号与序列号等信息,适合存储设备排查与脚本化查询。
主要能力与用法:默认执行 lsblk 显示名称、大小、类型和挂载点;lsblk -a 包含空设备与 RAM 块设备;lsblk -f 显示文件系统信息(UUID、FSTYPE、LABEL、MOUNTPOINT);lsblk -J 输出 JSON、lsblk -P 输出 key=value 便于脚本处理;lsblk /dev/sda 仅查询指定设备;lsblk -b 以原始字节显示大小;lsblk -o NAME,SIZE,UUID,LABEL,MOUNTPOINT 自定义列;lsblk -t 显示拓扑信息;lsblk -o NAME,SIZE,SERIAL,MODEL,TYPE 显示序列号与型号;lsblk -e 7 排除 loop 设备(7 为 loop 主设备号)。设备命名如 sda/sda1、nvme0n1/nvme0n1p1、vda、mmcblk0、md0、dm-0、loop0 等可据此判断类型。
使用限制:lsblk 读取 sysfs(/sys/block),无需 root,但也只能反映内核已知信息;若分区表变更后未执行 partprobe,可能显示过期数据。MOUNTPOINT 仅显示第一个挂载点,多挂载或 bind mount 场景应改用 findmnt --source /dev/sdX1。dm-* 名称不具语义,需结合 lvdisplay、cryptsetup status 或 dmsetup ls --tree 判断用途。loop 设备会因 snap/flatpak 增多,可用 -e 7 排除。lsblk -f 不显示大小,需用 -o 显式组合。安装方式为 apt install util-linux 或 dnf install util-linux,Linux 系统通常已预装;无持久配置与日志,输出至终端。