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为小写)会是是无效参数。

猜你喜欢

转载自blog.csdn.net/Purpleendurer/article/details/135732747