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

边缘计算的挑战和机遇

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

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 请求队列大小
SCHED I/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为小写)会是是无效参数。

相关推荐
月清晖28 分钟前
centos更换yum源、安装Docker和换源
linux·docker·centos
【 教主 】1 小时前
<Linux> 多线程
linux·运维·服务器
技术探索者1 小时前
Shell:如何判断两个字符串相等
linux·shell
Slow1 小时前
Linux静态库的制作
linux·c语言
一个梦想过上五休二生活的男人1 小时前
Firewalld防火墙(二)
linux·服务器·数据库
一只猿Hou1 小时前
【logback-spring配置不生效,开发环境和生产环境配置不同输出级别】
linux·spring·logback
gopher95112 小时前
Linux多进程和多线程(五)进程间通信-消息队列
linux·服务器·c语言·开发语言·进程
efls1112 小时前
Linux_管道通信
linux·运维·服务器·管道
frans4x2 小时前
操作系统僵尸进程、CFS、上下文切换
linux·服务器
口嗨农民工3 小时前
uboo对内存操作读写命令的基本使用
linux·ubuntu·c·uboot