边缘计算的挑战和机遇

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

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 $ 

Linux shell编程学习笔记41:lsblk命令_shell脚本_02

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 $ 

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

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

  • 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 ~ $ 

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

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 ~ $ 

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

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 ~ $ 

Linux shell编程学习笔记41:lsblk命令_块设备_06

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 ~ $ 

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

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 ~ $ 

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

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 ~ $ 

Linux shell编程学习笔记41:lsblk命令_块设备_09

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

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

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

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