Linux查询块设备命令之 lsblk
简介
在Linux系统下面,lsblk用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在此处下载util-linux包。Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包。
lsblk安装
如果你的Linux系统上没有lsblk命令,没关系,安装很容易
yum install util-linux
lsblk常用参数详解
[root@local ~]# lsblk --help
用法:
lsblk [选项] [<设备> ...]
列出块设备的信息。
选项:
-a, --all 打印所有设备
-b, --bytes 以字节为单位而非易读的格式来打印 SIZE
-d, --nodeps 不打印从属设备(slave)或占位设备(holder)
-D, --discard 打印时丢弃能力
-e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)
-I, --include <列表> 只显示有指定主设备号的设备
-f, --fs 输出文件系统信息
-h, --help 使用信息(此信息)
-i, --ascii 只使用 ascii 字符
-m, --perms 输出权限信息
-l, --list 使用列表格式的输出
-n, --noheadings 不打印标题
-o, --output <列表> 输出列
-O, --output-all 输出所有列
-p, --paths 打印完整设备路径
-P, --pairs 使用 key=“value” 输出格式
-r, --raw 使用原生输出格式
-s, --inverse 反向依赖
-S, --scsi 输出有关 SCSI 设备的信息
-t, --topology 输出拓扑信息
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
Available output columns:
NAME 设备名
KNAME 内部内核设备名称
MAJ:MIN 主:次 设备号
FSTYPE 文件系统类型
MOUNTPOINT 设备挂载位置
LABEL 文件系统标签
UUID 文件系统 UUID
PARTTYPE 分区类型 UUID
PARTLABEL 分区 LABEL
PARTUUID 分区 UUID
PARTFLAGS 分区标志
RA 该设备的预读(read-ahead)
RO 该项表明设备是否为只读。RO值为0,表明他们不是只读的
RM 本栏显示设备是否可移动设备。注意,sr0的RM值等于1,这说明他们是可移动设备
HOTPLUG 可移动或热插拔设备(usb, pcmcia, ...)
MODEL 设备标识符
SERIAL 磁盘序列号
SIZE 磁盘容量
STATE 设备的状态
OWNER 用户名
GROUP 组名
MODE 设备节点权限
ALIGNMENT 对齐偏移量
MIN-IO 最小 I/O 大小
OPT-IO 最优 I/O 大小
PHY-SEC 物理扇区大小
LOG-SEC 逻辑扇区大小
ROTA 转动设备
SCHED I/O 调度器名称
RQ-SIZE 请求队列大小
TYPE 设备类型,显示块设备是否是磁盘或磁盘上的一个分区。nvme0n1是磁盘,nvme0n1p1是分区,rhel-root是lvm,而sr0是只读存储(rom)
DISC-ALN 忽略对齐偏移量
DISC-GRAN 忽略粒度
DISC-MAX 忽略最大字节数
DISC-ZERO 忽略零数据
WSAME 写相同的最大字节数
WWN 惟一存储标识符
RAND 添加随机性
PKNAME 内部上级内核设备名称
HCTL SCSI 的 Host:Channel:Target:Lun
TRAN 设备传输类型
SUBSYSTEMS 对成链的子系统去重
REV 设备修订版本
VENDOR 设备制造商
ZONED zone model
更多信息请参阅 lsblk(8)。
lsblk使用实例
打印出所有设备
[root@localhost ~]# lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.7G 0 rom /mnt
nvme0n1 259:0 0 20G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 19G 0 part
├─rhel-root 253:0 0 17G 0 lvm /
└─rhel-swap 253:1 0 2G 0 lvm [SWAP]
使用列表格式的输出
[root@localhost ~]# lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.7G 0 rom /mnt
rhel-root 253:0 0 17G 0 lvm /
rhel-swap 253:1 0 2G 0 lvm [SWAP]
nvme0n1 259:0 0 20G 0 disk
nvme0n1p1 259:1 0 1G 0 part /boot
nvme0n1p2 259:2 0 19G 0 part
不打印从属设备
[root@localhost ~]# lsblk -d
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.7G 0 rom /mnt
nvme0n1 259:0 0 20G 0 disk
打印文件系统和UUID信息
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 RHEL-8-6-0-BaseOS-x86_64 2022-04-20-16-41-14-00 /mnt
nvme0n1
├─nvme0n1p1 xfs 1d8d4eb6-5674-4e34-988f-2fa036850b45 /boot
└─nvme0n1p2 LVM2_member qFOF2o-ZCQm-Sg5C-eAOh-Dt3f-bS2r-TybHeS
├─rhel-root xfs ccd7fed8-17ad-4a2f-8a54-8edf10d55fbc /
└─rhel-swap swap 8f707b9a-f43c-4793-b3b6-95d1eb4c473f [SWAP]
打印关于每个设备的丢弃能力(TRIM, UNMAP)的信息
[root@localhost ~]# lsblk -D
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sr0 0 0B 0B 0
nvme0n1 0 0B 0B 0
├─nvme0n1p1 0 0B 0B 0
└─nvme0n1p2 0 0B 0B 0
├─rhel-root 0 0B 0B 0
└─rhel-swap 0 0B 0B 0
获取块设备全路径,没看出和lsblk有啥不一样
[root@localhost ~]# lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/sr0 11:0 1 10.7G 0 rom /mnt
/dev/nvme0n1 259:0 0 20G 0 disk
├─/dev/nvme0n1p1 259:1 0 1G 0 part /boot
└─/dev/nvme0n1p2 259:2 0 19G 0 part
├─/dev/mapper/rhel-root 253:0 0 17G 0 lvm /
└─/dev/mapper/rhel-swap 253:1 0 2G 0 lvm [SWAP]
打印反向依赖关系
[root@localhost ~]# lsblk -s
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 10.7G 0 rom /mnt
rhel-root 253:0 0 17G 0 lvm /
└─nvme0n1p2 259:2 0 19G 0 part
└─nvme0n1 259:0 0 20G 0 disk
rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─nvme0n1p2 259:2 0 19G 0 part
└─nvme0n1 259:0 0 20G 0 disk
nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1 259:0 0 20G 0 disk
输出块设备拓扑信息
这个选项相当于-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME。
[root@localhost ~]# lsblk -t
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
sr0 0 2048 0 2048 2048 1 mq-deadline 64 128 0B
nvme0n1 0 512 0 512 512 0 none 255 4096 0B
├─nvme0n1p1 0 512 0 512 512 0 none 255 4096 0B
└─nvme0n1p2 0 512 0 512 512 0 none 255 4096 0B
├─rhel-root 0 512 0 512 512 0 128 4096 0B
└─rhel-swap 0 512 0 512 512 0 128 4096 0B
[root@localhost ~]#
原文地址:https://www.cnblogs.com/my-show-time/p/16858420.html
上一篇: Linux启动盘路径的三种查看方法:1. 使用fdisk命令;2. 使用sfdisk -l命令;3. 使用lsblk命令或者lsblk -l命令。
下一篇: 【Linux学习笔记16】磁盘的分区、格式化、检验与挂载(blkid、lsblk、UUID、parted查看分区的格式命令)
推荐阅读
-
紧急模式问题处理 - 图 1 紧急模式 根本原因分析 应急模式提供了尽可能小的环境,即使无法进入应急模式,也可以在其中修复系统。在应急模式下,系统只安装根文件系统供读取,不尝试安装任何其他本地文件系统,不激活网络接口,只启动一些基本服务。 进入应急模式的原因通常是 /etc/fstab 文件中存在错误,导致文件系统挂载失败。 文件系统中存在错误,导致。 约束和限制 本节适用于 Linux 操作系统紧急模式。程序涉及修复文件系统。修复文件系统有丢失数据的风险,因此请先备份数据,然后再执行修复操作。 处理方法 输入根密码,然后进入修复模式。 在应急模式下,根分区以只读模式挂载。要修改根目录中的文件,需要执行以下命令以读写模式重新挂载根分区。# mount -o rw,remount / 请执行以下命令首先检查 fstab 文件是否有误,然后尝试挂载所有未挂载的文件系统。# mount -a 如果挂载点不存在,请创建一个挂载点。 如果不存在此类设备,请注释或删除挂载行。 如果指定了不正确的挂载选项,请将挂载参数更改为正确的参数。 如果没有发生错误,但出现 UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY 消息(通常是由文件系统错误引起的),请跳至第 7 步。 执行以下命令打开 /etc/fstab 以修改相应的错误。# vi /etc/fstab /etc/fstab 文件包含以下字段,以空格分隔:[文件系统] [dir] [type] [options] [dump] [fsck] 表 1 /etc/fstab 参数 说明 参数 说明 [文件系统] 要挂载的分区或存储设备。 文件系统]列建议以 UUID 的形式写入。执行 blkid 命令可查询设备文件系统 UUID。 参考格式如下: # <device> <dir> <type> <options> <dump> <fsck>; UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 使用 UUID 的好处是,它们与磁盘顺序无关。如果你在 BIOS 中更改了存储设备的顺序,或重新插入了存储设备,或者因为某些 BIOS 可能会随机更改存储设备的顺序,那么使用 UUID 会更有效率。 [文件系统] 文件系统]的挂载位置。 类型 挂载设备或分区的文件系统类型,支持多种不同的文件系统:ext2、ext3、ext4、reiserfs、xfs、jfs、smbfs、iso9660、vfat、ntfs、swap 和 auto。 设置为自动类型后,挂载命令会猜测所使用的文件系统类型,这对 CDROM 和 DVD 等移动设备非常有用。 选项 挂载时要使用的参数,有些参数是特定文件系统特有的。例如,默认值参数使用文件系统的默认挂载参数,ext4 的默认参数为:rw、suid、dev、exec、auto、nouser、async。 有关更多参数,请执行以下命令查看 man 手册:# man mount
-
深入解析常见的块设备命令lsblk用法
-
深入了解CentOS中的块设备命令lsblk
-
Linux磁盘信息查询命令:详解lsblk、blkid和dumpe2fs
-
利用lsblk命令展示系统中的块设备清单
-
寻找块设备详细信息:使用 Linux blkid 命令
-
通过 Linux blkid 命令获取块设备详细信息
-
Linux常用查看块设备及磁盘信息命令
-
Linux命令lsblk的使用方法:列出块设备信息
-
Linux命令之lsblk命令