Linux shell编程学习笔记41:lsblk命令

发布时间:2024年01月21日

边缘计算的挑战和机遇

边缘计算面临着数据安全与隐私保护、网络稳定性等挑战,但同时也带来了更强的实时性和本地处理能力,为企业降低了成本和压力,提高了数据处理效率。因此,边缘计算既带来了挑战也带来了机遇,需要我们不断地研究

0 前言

前几节学习我们均涉及到磁盘和文件存储,今天我们研究与块设备有关的命令。

1 lsblk命令的功能和格式

我们可以使用命令 lsblk --help命令 查看它的用法:

purpleEndurer @ bash $ lsblk --help

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

Available columns (for --output):
? ? ? ? NAME ?device name
? ? ? ?KNAME ?internal kernel device name
? ? ?MAJ:MIN ?major:minor device number
? ? ? FSTYPE ?filesystem type
? MOUNTPOINT ?where the device is mounted
? ? ? ?LABEL ?filesystem LABEL
? ? ? ? UUID ?filesystem UUID
? ?PARTLABEL ?partition LABEL
? ? PARTUUID ?partition UUID
? ? ? ? ? RA ?read-ahead of the device
? ? ? ? ? RO ?read-only device
? ? ? ? ? RM ?removable device
? ? ? ?MODEL ?device identifier
? ? ? SERIAL ?disk serial number
? ? ? ? SIZE ?size of the device
? ? ? ?STATE ?state of the device
? ? ? ?OWNER ?user name
? ? ? ?GROUP ?group name
? ? ? ? MODE ?device node permissions
? ?ALIGNMENT ?alignment offset
? ? ? MIN-IO ?minimum I/O size
? ? ? OPT-IO ?optimal I/O size
? ? ?PHY-SEC ?physical sector size
? ? ?LOG-SEC ?logical sector size
? ? ? ? ROTA ?rotational device
? ? ? ?SCHED ?I/O scheduler name
? ? ?RQ-SIZE ?request queue size
? ? ? ? TYPE ?device type
? ? DISC-ALN ?discard alignment offset
? ?DISC-GRAN ?discard granularity
? ? DISC-MAX ?discard max bytes
? ?DISC-ZERO ?discard zeroes data
? ? ? ?WSAME ?write same max bytes
? ? ? ? ?WWN ?unique storage identifier
? ? ? ? RAND ?adds randomness
? ? ? PKNAME ?internal parent kernel device name
? ? ? ? HCTL ?Host:Channel:Target:Lun for SCSI
? ? ? ? TRAN ?device transport type
? ? ? ? ?REV ?device revision
? ? ? VENDOR ?device vendor

For more details see lsblk(8).
purpleEndurer @ bash $?

1.1 lsblk命令的功能

lsblk命令的功能是查看系统中硬盘,闪存盘,CD-ROM等块设备的信息,包括这些设备之间的依赖关系。

lsblk命令来源于list block devices的缩写。

1.2 lsblk命令的格式

?lsblk [选项] [<设备> ...]

1.2.1 选项及功能

选项功能
-a 或 --all显示所有设备信息
-b 或 --bytes显示以字节为单位的设备大小
-d 或 --nodeps不显示分区的详细信息
-D 或 --discard打印丢弃功能
-e 或 -exclude排除指定设备 (默认: 内存盘:RAM disks)
-f 或 --fs显示文件系统信息
-h 或 --help显示使用帮助信息
-i 或 --ascii仅使用字符
-I 或 --include仅显示具有指定主编号的设备
-l 或 --list使用列表格式显示
-m 或 --perms显示权属信息
-n 或 --noheadings不显示标题
-o 或 --output输出指定列信息
-p 或 --paths输出设备的完整路径
-P 或 --pairs使用key=value格式显示信息
-r 或 --raw使用原始格式显示信息
-s 或 --inverse反向依赖关系
-S 或 --scsi输出SCSI设备信息
-t 或 --topology显示拓扑结构信息
-V或--v或--version显示版本信息

?1.2.2 可选信息列表

可选信息列表名含义
ALIGNMENT对齐偏移
DISC-ALN废弃对齐偏移
DISC-GRAN废弃粒度
DISC-MAX废弃最大字节
FSTYPE文件系统类型
GROUP组名称
KNAME内部内核设备名称
LABEL文件系统标签
LOG-SEC逻辑扇区大小
MAJ:MIN主要:次要设备编号
MIN-IO最小 I/O 大小
MODE设备节点权限
MODEL设备标识符
MOUNTPOINT设备挂载点
NAME设备名称
OPT-IO最佳 I/O 大小
OWNER用户名
PARTLABEL分区标签
PARTUUID分区UUID
PHY-SEC物理扇区大小
RA预读设备
RM可移动设备
RO只读设备
ROTA旋转装置
RQ-SIZE请求队列大小
SCHEDI/O 调度程序名称
SERIAL磁盘序列号
SIZE设备的容量大小
STATE设备的状态
TYPE设备类型
UUID文件系统 UUID

2 lsblk命令使用实例

2.1 lsblk -a:显示系统中所有块设备信息

purpleEndurer @ bash $ lsblk -a
NAME ? MAJ:MIN RM ?SIZE RO TYPE MOUNTPOINT
zram0 ?251:0 ? ?0 ? ? ? ?0 disk?
vda ? ?253:0 ? ?0 ? 40G ?0 disk?
├─vda4 253:4 ? ?0 ? 10G ?0 part?
├─vda2 253:2 ? ?0 ?127M ?0 part?
├─vda5 253:5 ? ?0 29.5G ?0 part /dev/termination-log
├─vda3 253:3 ? ?0 ?384M ?0 part?
└─vda1 253:1 ? ?0 ? ?1M ?0 part?
purpleEndurer @ bash $?

命令默认返回信息包括以下内容:

  • NAME:设备名
  • MAJ:MIN:主要/次要设备号
  • RM:是否可移动设备(0 否,1 是)
  • SIZE:设备的容量大小
  • RO:是否为只读设备(0 否,1 是)
  • TYPE:设备类型(disk 磁盘,part 分区,loop 块设备)
  • MOUNTPOINT:设备挂载点

2.2 lsblk -d 或 lsblk --nodeps:不显示分区的详细信息

purpleEndurer @ bash ~ $ lsblk -a
NAME ? MAJ:MIN RM ?SIZE RO TYPE MOUNTPOINT
zram0 ?251:0 ? ?0 ? ? ? ?0 disk?
vda ? ?253:0 ? ?0 ? 40G ?0 disk?
├─vda4 253:4 ? ?0 ? 10G ?0 part?
├─vda2 253:2 ? ?0 ?127M ?0 part?
├─vda5 253:5 ? ?0 29.5G ?0 part /dev/termination-log
├─vda3 253:3 ? ?0 ?384M ?0 part?
└─vda1 253:1 ? ?0 ? ?1M ?0 part?
purpleEndurer @ bash ~ $ lsblk -d
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda ?253:0 ? ?0 ?40G ?0 disk?
purpleEndurer @ bash ~ $ lsblk -a -d
NAME ?MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
zram0 251:0 ? ?0 ? ? ? 0 disk?
vda ? 253:0 ? ?0 ?40G ?0 disk?
purpleEndurer @ bash ~ $?

2.3 lsblk -s 或 lsblk --inverse:反向显示依赖关系

purpleEndurer @ bash ~ $ lsblk -s
NAME ?MAJ:MIN RM ?SIZE RO TYPE MOUNTPOINT
vda4 ?253:4 ? ?0 ? 10G ?0 part?
└─vda 253:0 ? ?0 ? 40G ?0 disk?
vda2 ?253:2 ? ?0 ?127M ?0 part?
└─vda 253:0 ? ?0 ? 40G ?0 disk?
vda5 ?253:5 ? ?0 29.5G ?0 part /dev/termination-log
└─vda 253:0 ? ?0 ? 40G ?0 disk?
vda3 ?253:3 ? ?0 ?384M ?0 part?
└─vda 253:0 ? ?0 ? 40G ?0 disk?
vda1 ?253:1 ? ?0 ? ?1M ?0 part?
└─vda 253:0 ? ?0 ? 40G ?0 disk?
purpleEndurer @ bash ~ $?

2.4 lsblk -l或 lsblk --list:使用列表格式显示

purpleEndurer @ bash ~ $ lsblk -l
NAME MAJ:MIN RM ?SIZE RO TYPE MOUNTPOINT
vda ?253:0 ? ?0 ? 40G ?0 disk?
vda4 253:4 ? ?0 ? 10G ?0 part?
vda2 253:2 ? ?0 ?127M ?0 part?
vda5 253:5 ? ?0 29.5G ?0 part /dev/termination-log
vda3 253:3 ? ?0 ?384M ?0 part?
vda1 253:1 ? ?0 ? ?1M ?0 part?
purpleEndurer @ bash ~ $?

2.5 lsblk -o 信息列表 或 lsblk?--output 信息列表:显示指定列信息

例:以列表形式显示系统中所有块设备的 命名、容量大小、UUID 和序列号信息:?

purpleEndurer @ bash ~ $ lsblk -o name,size,uuid,serial -a -l
NAME ? SIZE UUID SERIAL
zram0 ? ? ? ? ? ?
vda ? ? 40G ? ? ?
vda4 ? ?10G ? ? ?
vda2 ? 127M ? ? ?
vda5 ?29.5G ? ? ?
vda3 ? 384M ? ? ?
vda1 ? ? 1M ? ? ?
purpleEndurer @ bash ~ $?

2.6 lsblk?-P 或?lsblk?--pairs:使用key=value格式显示信息

purpleEndurer @ bash ~ $ lsblk -P
NAME="vda" MAJ:MIN="253:0" RM="0" SIZE="40G" RO="0" TYPE="disk" MOUNTPOINT=""
NAME="vda4" MAJ:MIN="253:4" RM="0" SIZE="10G" RO="0" TYPE="part" MOUNTPOINT=""
NAME="vda2" MAJ:MIN="253:2" RM="0" SIZE="127M" RO="0" TYPE="part" MOUNTPOINT=""
NAME="vda5" MAJ:MIN="253:5" RM="0" SIZE="29.5G" RO="0" TYPE="part" MOUNTPOINT="/dev/termination-log"
NAME="vda3" MAJ:MIN="253:3" RM="0" SIZE="384M" RO="0" TYPE="part" MOUNTPOINT=""
NAME="vda1" MAJ:MIN="253:1" RM="0" SIZE="1M" RO="0" TYPE="part" MOUNTPOINT=""
purpleEndurer @ bash ~ $?

2.7 lsblk -m 或?lsblk --perms:?显示块设备的权属信息?

purpleEndurer @ bash ~ $ lsblk -m
NAME ? ?SIZE OWNER GROUP MODE
vda ? ? ?40G ? ? ? ? ? ??
├─vda4 ? 10G ? ? ? ? ? ??
├─vda2 ?127M ? ? ? ? ? ??
├─vda5 29.5G ? ? ? ? ? ??
├─vda3 ?384M ? ? ? ? ? ??
└─vda1 ? ?1M ? ? ? ? ? ??
purpleEndurer @ bash ~ $?

返回的信息包括:设备名、容量、所有者、所属组 和 模式。

2.8 lsblk -V 或 lsblk --v 或?lsblk --version:?查看版本

purpleEndurer @ bash $ lsblk --version
lsblk from util-linux 2.23.2
purpleEndurer @ bash $ lsblk --v
lsblk from util-linux 2.23.2

注意:-v(v为小写)会是是无效参数。

文章来源:https://blog.csdn.net/Purpleendurer/article/details/135732747
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。