lsblk 命令 #
lsblk
命令(list block devices)用于列出系统上所有可用的块设备信息,以树状结构显示它们之间的关系。它可以显示分区、磁盘大小、挂载点等信息,是查看系统存储设备的便捷工具。
语法 #
lsblk [选项] [设备...]
主要选项 #
选项 | 说明 |
---|---|
-a, --all |
显示所有设备,包括空设备 |
-b, --bytes |
以字节为单位显示大小 |
-d, --nodeps |
不显示从属设备(如分区) |
-f, --fs |
显示文件系统信息 |
-m, --perms |
显示权限信息 |
-o, --output 列表 |
指定要显示的列 |
-p, --paths |
显示完整设备路径 |
-S, --scsi |
仅输出 SCSI 设备 |
-t, --topology |
显示拓扑信息 |
-n, --noheadings |
不显示标题 |
-x, --sort 列 |
按指定列排序 |
可用输出列 #
列名 | 说明 |
---|---|
NAME |
设备名称 |
MAJ:MIN |
主:次设备号 |
RM |
是否可移动设备 |
SIZE |
设备大小 |
RO |
是否只读 |
TYPE |
设备类型 |
MOUNTPOINT |
挂载点 |
FSTYPE |
文件系统类型 |
LABEL |
文件系统标签 |
UUID |
文件系统 UUID |
MODEL |
设备型号 |
SERIAL |
磁盘序列号 |
STATE |
设备状态 |
OWNER |
用户名 |
GROUP |
组名 |
MODE |
设备节点权限 |
ALIGNMENT |
对齐偏移 |
MIN-IO |
最小 I/O 大小 |
OPT-IO |
最佳 I/O 大小 |
PHY-SEC |
物理扇区大小 |
LOG-SEC |
逻辑扇区大小 |
ROTA |
是否旋转设备 |
SCHED |
I/O 调度器名称 |
TRAN |
设备传输类型 |
常见用法 #
1. 列出所有块设备 #
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 222.1G 0 part
├─vg-root 253:0 0 50G 0 lvm /
├─vg-swap 253:1 0 8G 0 lvm [SWAP]
└─vg-home 253:2 0 164.1G 0 lvm /home
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part /data
2. 显示文件系统信息 #
lsblk -f
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat 1234-5678 /boot/efi
├─sda2 ext4 abcdef12-3456-7890-abcd-ef1234567890 /boot
└─sda3 LVM2_member fedcba98-7654-3210-fedc-ba9876543210
├─vg-root ext4 abcdef12-3456-7890-abcd-ef1234567890 /
├─vg-swap swap fedcba98-7654-3210-fedc-ba9876543210 [SWAP]
└─vg-home ext4 12345678-90ab-cdef-1234-567890abcdef /home
sdb
└─sdb1 ext4 DATA abcdef12-3456-7890-abcd-ef1234567890 /data
3. 以字节为单位显示大小 #
lsblk -b
4. 不显示从属设备 #
lsblk -d
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 223.6G 0 disk
sdb 8:16 0 931.5G 0 disk
5. 显示指定列 #
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
输出示例:
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 223.6G disk
├─sda1 512M vfat part /boot/efi
├─sda2 1G ext4 part /boot
└─sda3 222.1G LVM2_member part
├─vg-root 50G ext4 lvm /
├─vg-swap 8G swap lvm [SWAP]
└─vg-home 164.1G ext4 lvm /home
sdb 931.5G disk
└─sdb1 931.5G ext4 part /data
6. 显示完整设备路径 #
lsblk -p
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sda 8:0 0 223.6G 0 disk
├─/dev/sda1 8:1 0 512M 0 part /boot/efi
├─/dev/sda2 8:2 0 1G 0 part /boot
└─/dev/sda3 8:3 0 222.1G 0 part
├─/dev/mapper/vg-root 253:0 0 50G 0 lvm /
├─/dev/mapper/vg-swap 253:1 0 8G 0 lvm [SWAP]
└─/dev/mapper/vg-home 253:2 0 164.1G 0 lvm /home
/dev/sdb 8:16 0 931.5G 0 disk
└─/dev/sdb1 8:17 0 931.5G 0 part /data
7. 显示设备拓扑信息 #
lsblk -t
8. 显示 SCSI 设备 #
lsblk -S
与其他命令结合使用 #
1. 查找特定设备的信息 #
lsblk | grep sda
2. 查找所有挂载点 #
lsblk -o MOUNTPOINT | grep -v "^$" | grep -v MOUNTPOINT
3. 查找所有未挂载的分区 #
lsblk -o NAME,MOUNTPOINT | grep -v "^$" | grep -v MOUNTPOINT | grep -v "└" | grep -v "├" | awk '$2==""'
注意事项 #
lsblk
命令从/sys
虚拟文件系统获取信息,因此不需要特殊权限即可运行- 输出中的大小默认以人类可读的格式显示(如 GB、MB)
- 要获取更详细的磁盘信息,可以结合使用
blkid
、fdisk -l
或smartctl
命令 - 在某些系统上,可能需要安装
util-linux
包才能使用lsblk
命令 - 树状结构显示了设备之间的层次关系,特别适合查看 LVM、RAID 或加密设备的配置