一、简介

Linux下的lsblk(英文全称是"list block")命令的,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。

块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。若没有安装lsblk,可以通过​​sudo yum install util-linux-ng​​来安装该包。

二、格式说明

lsblk [options] [<device> ...]
lsblk [参数] [设备]

Usage:
lsblk [options] [<device> ...]

Options:
-a, --all print all devices
-b, --bytes print SIZE in bytes rather than in human readable format
-d, --nodeps don't print slaves or holders
-D, --discard print discard capabilities
-e, --exclude <list> exclude devices by major number (default: RAM disks)
-I, --include <list> show only devices with specified major numbers
-f, --fs output info about filesystems
-h, --help usage information (this)
-i, --ascii use ascii characters only
-m, --perms output info about permissions
-l, --list use list format output
-n, --noheadings don't print headings
-o, --output <list> output columns
-p, --paths print complate device path
-P, --pairs use key="value" output format
-r, --raw use raw output format
-s, --inverse inverse dependencies
-t, --topology output info about topology
-S, --scsi output info about SCSI devices

-h, --help display this help and exit
-V, --version output version information and exit

三、选项说明

-a, --all            显示所有设备。
-b, --bytes 以bytes方式显示设备大小。
-d, --nodeps 不显示 slaves 或 holders。
-D, --discard print discard capabilities。
-e, --exclude <list> 排除设备 (default: RAM disks)。
-I, --include <list> 使用列表格式显示,只显示具有指定主号码的设备
-f, --fs 显示文件系统信息。
-h, --help 显示帮助信息。
-i, --ascii use ascii characters only。
-m, --perms 显示权限信息。
-l, --list 使用列表格式显示。
-n, --noheadings 不显示标题。
-o, --output <list> 输出列。
-p, --paths 打印完整的设备路径
-P, --pairs 使用key="value"格式显示。
-r, --raw 使用原始格式显示。
-s, --inverse 按相反的顺序打印依赖项
-S, --scsi 仅输出SCSI设备信息
-t, --topology 显示拓扑结构信息。

四、命令功能

列出所有可用块设备的信息,而且还能显示他们之间的依赖关系。

五、常见用法

5.1 列出所有块设备

#lsblk命令默认情况下将以树状列出所有块设备
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 118.6M 0 rom
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /

#默认选项不会列出所有空设备。要查看空设备使用-a参数
# lsblk -a

其中

NAME :这是块设备名。

MAJ:MIN :本栏显示主要和次要设备号。

RM :本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE :本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO :该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

MOUNTPOINT :本栏指出设备挂载的挂载点。

5.2 列出一个特定设备的拥有关系,同时列出组和模式

# lsblk -m
NAME SIZE OWNER GROUP MODE
sr0 118.6M root cdrom brw-rw----
vda 50G root disk brw-rw----
└─vda1 50G root disk brw-rw----

5.3 只获取指定设备的信息

# lsblk -b /dev/vda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 53687091200 0 disk
└─vda1 253:1 0 53686025728 0 part /

5.4 以列表格式列出设备,而不是默认的树状格式

# lsblk -nl
sr0 11:0 1 118.6M 0 rom
vda 253:0 0 50G 0 disk
vda1 253:1 0 50G 0 part /

5.5 获取SCSI设备的列表

只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的

# lsblk -S
NAME HCTL TYPE VENDOR MODEL REV TRAN
sr0 0:0:1:0 rom QEMU QEMU DVD-ROM 2.5+ ata

5.6 将设备和分区的组织关系逆转过来显示

# lsblk -s
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 118.6M 0 rom
vda1 253:1 0 50G 0 part /
└─vda 253:0 0 50G 0 disk

5.7 只显示部分列

# lsblk -o NAME
NAME
sr0
vda
└─vda1

5.8 以原始格式显示

# lsblk -r
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 118.6M 0 rom
vda 253:0 0 50G 0 disk
vda1 253:1 0 50G 0 part /