Linux shell编程学习笔记87:blkid命令——获取块设备信息

0 引言

在进行系统安全检测时,我们需要收集块设备的信息,这些可以通过blkid命令来获取。

1 blkid命令的安装

blkid命令是基于libblkid库的命令行工具,可以在大多数Linux发行版中使用。

如果你的Linux系统中没有安装blkid命令,那么你可以使用以下命令来安装:

1.1 对于基于RPM的发行版(如Red Hat Enterprise Linux、CentOS)

可以使用yum或dnf命令来安装util-linux包,它包含了blkid命令:

sudo yum install util-linux

或者

sudo dnf install util-linux

1.2 对于基于Debian的发行版(如Ubuntu、Debian)

可以使用apt或apt-get命令来安装util-linux包,它也包含了blkid命令:

udo apt install util-linux

或者

sudo apt-get install util-linux

2 blkid命令的帮助信息、功能、命令格式、选项和参数说明

2.1 blkid命令 的帮助信息

我们可以使用 blkid -help 命令来查看该命令的帮助信息。

2.1.1 bash中的blkid命令

[purpleendurer @ bash ~] blkid -help
blkid from util-linux 2.23.2  (libblkid 2.23.0, 25-Apr-2013)
Usage:blkid -L <label> | -U <uuid>blkid [-c <file>] [-ghlLv] [-o <format>] [-s <tag>] [-t <token>] [<dev> ...]blkid -p [-s <tag>] [-O <offset>] [-S <size>] [-o <format>] <dev> ...blkid -i [-s <tag>] [-o <format>] <dev> ...Options:-c <file>   read from <file> instead of reading from the defaultcache file (-c /dev/null means no cache)-d          don't encode non-printing characters-h          print this usage message and exit-g          garbage collect the blkid cache-o <format> output format; can be one of:value, device, export or full; (default: full)-k          list all known filesystems/RAIDs and exit-s <tag>    show specified tag(s) (default show all tags)-t <token>  find device with a specific token (NAME=value pair)-l          look up only first device with token specified by -t-L <label>  convert LABEL to device name-U <uuid>   convert UUID to device name-V          print version and exit<dev>       specify device(s) to probe (default: all devices)Low-level probing options:-p          low-level superblocks probing (bypass cache)-i          gather information about I/O limits-S <size>   overwrite device size-O <offset> probe at the given offset-u <list>   filter by "usage" (e.g. -u filesystem,raid)-n <list>   filter by filesystem type (e.g. -n vfat,ext3)

 

2.1.2 kylin系统中的blkid命令

[purpleendurer @ kylin ~] blkid  -help
blkid from util-linux 2.27.1  (libblkid 2.27.0, 02-Nov-2015)
Usage:blkid -L <label> | -U <uuid>blkid [-c <file>] [-ghlLv] [-o <format>] [-s <tag>] [-t <token>] [<dev> ...]blkid -p [-s <tag>] [-O <offset>] [-S <size>] [-o <format>] <dev> ...blkid -i [-s <tag>] [-o <format>] <dev> ...Options:-c <file>   read from <file> instead of reading from the defaultcache file (-c /dev/null means no cache)-d          don't encode non-printing characters-h          print this usage message and exit-g          garbage collect the blkid cache-o <format> output format; can be one of:value, device, export or full; (default: full)-k          list all known filesystems/RAIDs and exit-s <tag>    show specified tag(s) (default show all tags)-t <token>  find device with a specific token (NAME=value pair)-l          look up only first device with token specified by -t-L <label>  convert LABEL to device name-U <uuid>   convert UUID to device name-V          print version and exit<dev>       specify device(s) to probe (default: all devices)Low-level probing options:-p          low-level superblocks probing (bypass cache)-i          gather information about I/O limits-S <size>   overwrite device size-O <offset> probe at the given offset-u <list>   filter by "usage" (e.g. -u filesystem,raid)-n <list>   filter by filesystem type (e.g. -n vfat,ext3)

2.2 blkid命令 的功能 

lsblk命令是block identifier的缩写,可以用来显示系统里所有可用块设备的信息。这些信息包括:

  1. 设备名称
  2. UUID:文件系统的通用唯一识别码(Universally Unique Identifier)
  3. TYPE:文件系统类型
  4. LABEL:设备标签
  5.  PARTUUID:分区UUID(Universally Unique Identifier)
  6. PARTLABEL:分区标签
  7. SEC_TYPE:安全文件系统类型
  8. ……

2.3  blkid命令格式

 blkid [选项] [设备名]

2.4 blkid命令选项说明

2.4.1 常规选项 

选项说明
-c <file>读取<file>而不是从默认缓存文件中读取(-c /dev/null 表示没有缓存)
-d不对非打印字符进行编码
-h打印用法消息并退出
-g垃圾回收 BLKID 缓存
-o <format>

输出格式。可以是以下之一:

  1. value
  2. device
  3. export
  4. full

默认值:full。

-k列出所有已知的文件系统/RAID 并退出
-s <tag>显示指定的标签 (默认 显示所有标签)
-t <token>查找具有特定令牌的设备(NAME=值对)
-l仅查找 -t 指定的令牌的第一个设备
-L <label>将 LABEL 转换为设备名称
-U <uuid>将 UUID 转换为设备名称
-V打印版本信息并退出

2.4.2 低级探测选项

选项说明
-p低级超级块探测(绕过缓存)
-i收集有关 I/O 限制的信息
-S  <size>覆盖设备大小
-O <offset>给定偏移量的探针
-u按 “usage” 过滤(例如 -u filesystem、raid)
-n按文件系统类型过滤(例如 -n vfat,ext3)

2.5 blkid命令的参数说明

<dev>:指定要探测的设备(默认值:所有设备)
 

3 blkid命令使用实例

3.1 blkid:显示所有的设备信息

[purpleendurer @ kylin ~] blkid
/dev/sda1: UUID="3637ecaf-0f1f-49ca-****-************" TYPE="ext4" PARTUUID="abcdf165-800d-4136-****-************"
/dev/sda2: UUID="617746af-df9e-4ab7-****-************" TYPE="ext4" PARTUUID="8250cc36-ced7-4b23****-************"
/dev/sda3: LABEL="KYLIN-BACKUP" UUID="35a92c0a-bfbf-4fe6-****-************" TYPE="ext4" PARTUUID="945c25d1-41cb-4107-****-************6"
/dev/sda4: LABEL="M-fM-^UM-0M-fM-^MM-.M-gM-^[M-^X" UUID="476a5af9-f192-4578-****-************" TYPE="ext4" PARTUUID="9c311144-55e2-4097-****-************"
/dev/sda5: UUID="1043ec35-b969-4a8b-****-************" TYPE="swap" PARTUUID="57003ffa-e59d-4ee2-****-************"
/dev/sda6: SEC_TYPE="msdos" UUID="194D-****" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f6acb26c-54c2-4735-****-************"
/dev/sdb: LABEL="M-fM-^UM-0M-fM-^MM-.M-gM-^[M-^X" UUID="4f20f41e-62d1-4512-****-************" TYPE="ext4"
[purpleendurer @ kylin ~] 

可以看到,系统中有7个块设备。

设备名称如下:

  1. /dev/sda1
  2. /dev/sda2
  3. /dev/sda3
  4. /dev/sda4
  5. /dev/sda5
  6. /dev/sda6
  7. /dev/sdb

文件系统类型有:

  1. ext4
  2. swap
  3. vfat

在其它系统可能还有LVM2_member等类型。

3.2 blkid -o export:指定export输出格式

[purpleendurer @ kylin ~] blkid -o export
DEVNAME=/dev/sda1
UUID=3637ecaf-0f1f-49ca-900d-****-************
TYPE=ext4
PARTUUID=abcdf165-800d-4136-****-************DEVNAME=/dev/sda2
UUID=617746af-df9e-4ab7-****-************
TYPE=ext4
PARTUUID=8250cc36-ced7-4b23-****-************DEVNAME=/dev/sda3
LABEL=KYLIN-BACKUP
UUID=35a92c0a-bfbf-4fe6-****-************
TYPE=ext4
PARTUUID=945c25d1-41cb-4107-****-************DEVNAME=/dev/sda4
LABEL=M-fM-^UM-0M-fM-^MM-.M-gM-^[M-^X
UUID=476a5af9-f192-4578-****-************
TYPE=ext4
PARTUUID=9c311144-55e2-4097-****-************DEVNAME=/dev/sda5
UUID=1043ec35-b969-4a8b-****-************
TYPE=swap
PARTUUID=57003ffa-e59d-4ee2-****-************DEVNAME=/dev/sda6
SEC_TYPE=msdos
UUID=194D-****
TYPE=vfat
PARTLABEL=EFI\ System\ Partition
PARTUUID=f6acb26c-54c2-4735-****-************DEVNAME=/dev/sdb
LABEL=M-fM-^UM-0M-fM-^MM-.M-gM-^[M-^X
UUID=4f20f41e-62d1-4512-****-************
TYPE=ext4
[purpleendurer @ kylin ~] 

 

这种格式可以用来在shell脚本中设置变量。

3.3 blkid -o list:以'list'格式显示设备的属性

[purpleendurer @ kylin ~] blkid -o list
device     fs_type label    mount point    UUID
-------------------------------------------------------------------------------
/dev/sda1  ext4             /boot          3637ecaf-0f1f-49ca-****-************
/dev/sda2  ext4             /              617746af-df9e-4ab7-****-************
/dev/sda3  ext4    KYLIN-BACKUP (not mounted) 35a92c0a-bfbf-4fe6-****-************
/dev/sda4  ext4    数据盘 /data         476a5af9-f192-4578-****-************
/dev/sda5  swap             [SWAP]         1043ec35-b969-4a8b-****-************
/dev/sda6  vfat             /boot/efi      194D-****
/dev/sdb   ext4    数据盘 /media/****/数据盘1 4f20f41e-62d1-4512-****-************
/dev/ram0                   (not mounted)  
/dev/ram1                   (not mounted)  
/dev/ram2                   (not mounted)  
/dev/ram3                   (not mounted)  
/dev/ram4                   (not mounted)  
/dev/ram5                   (not mounted)  
/dev/ram6                   (not mounted)  
/dev/ram7                   (not mounted)  
/dev/ram8                   (not mounted)  
/dev/ram9                   (not mounted)  
/dev/ram10                  (not mounted)  
/dev/ram11                  (not mounted)  
/dev/ram12                  (not mounted)  
/dev/ram13                  (not mounted)  
/dev/ram14                  (not mounted)  
/dev/ram15                  (not mounted)  
[purpleendurer @ kylin ~] 

3.4 blkid -t TYPE=swap:显示文件系统为swap的块设备信息

[purpleendurer @ kylin ~] blkid -t TYPE=swap
/dev/sda5: UUID="1043ec35-b969-4a8b-****-************" TYPE="swap" PARTUUID="57003ffa-e59d-4ee2-****-************"
[purpleendurer @ kylin ~] 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx处理并发连接

Nginx以其高效处理并发连接的能力而闻名&#xff0c;这主要归功于其事件驱动的架构和异步非阻塞I/O操作。 是Nginx处理并发连接的关键机制&#xff1a; 1. 事件驱动架构 Nginx采用事件驱动架构&#xff0c;这意味着它使用事件通知机制来响应网络事件&#xff0c;如新连接、读…

构建生产级的 RAG 系统

对 RAG 应用程序进行原型设计很容易&#xff0c;但要使其高性能、健壮且可扩展到大型知识语料库却很困难。 本指南包含各种提示和技巧&#xff0c;以提高 RAG 工作流程的性能。我们首先概述一些通用技术 - 它们按照简单到复杂的顺序进行排列。然后&#xff0c;我们将更深入地研…

【python实操】python小程序之测试报告

引言 python小程序之测试报告 文章目录 引言一、测试报告1.1 概念1.1.1 使用Pytest和Allure生成测试报告1.1.2 使用unittest和HTMLTestRunner生成测试报告1.1.3 总结 1.2 题目1.3 代码1.3 代码解释 二、思考 一、测试报告 1.1 概念 python生成测试报告&#xff0c;常用的方法包…

ELK之路第一步——Elasticsearch集群的搭建以及踩坑记录

elasticSearch集群 前言一、架构二、下载三、虚拟机相关设置3.1 创建es用户3.2 为建es用户赋权sudo3.3 更换es目录所属用户 四、Elasticsearch配置文件修改4.1 修改elasticsearch.yml4.2 修改jvm.options4.3 修改jdk路径 五、启动六、启动报错七、设置密码八、可视化界面cerebr…

支持向量机SVM简述

支持向量机SVM 1、概述 SVM全称是supported vector machine&#xff08;支持向量机&#xff09;&#xff0c;即寻找到一个超平面使样本分成两类&#xff0c;并且间隔最大。 SVM 模型有3种&#xff1a; 线性可分支持向量机&#xff1a;适用于训练数据线性可分。线性支持向量…

Ubuntu22.04环境搭建MQTT服务器

官网&#xff1a; https://mosquitto.org 1.引入库 sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa2.升级安装工具 sudo apt-get update 3.安装 sudo apt-get install mosquitto 4.安装客户端 sudo apt-get install mosquitto-clients5.添加修改配置文件 进…

【使用Flask构建RESTful API】从零开始开发简单的Web服务!

使用Flask构建RESTful API&#xff1a;从零开始开发简单的Web服务 引言 随着Web应用程序的广泛使用&#xff0c;RESTful API已成为现代Web服务的核心技术之一。通过RESTful API&#xff0c;我们可以轻松地创建、读取、更新和删除&#xff08;CRUD&#xff09;数据&#xff0c…

力扣21 : 合并两个有序链表

链表style 描述&#xff1a; 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例&#xff1a; 节点大小相同时&#xff0c;l1的节点在前 何解&#xff1f; 1&#xff0c;遍历两个链表&#xff0c;挨个比较节点大小 同时遍…

Python应用指南:利用高德地图API实现路径规划

高德路径规划API是一套基于HTTP协议的接口服务&#xff0c;旨在为开发者提供便捷的路径规划解决方案。该API支持多种出行方式&#xff0c;包括步行、公交和驾车&#xff0c;能够满足不同场景下的路径查询需求。通过调用这些API&#xff0c;用户可以获得从起点到终点的最优路径建…

Flink CDC系列之:理解学习Kubernetes模式

Flink CDC系列之&#xff1a;理解学习Kubernetes模式 准备会话模式启动会话集群设置 Flink CDC提交 Flink CDC Job Kubernetes 是一种流行的容器编排系统&#xff0c;用于自动化计算机应用程序的部署、扩展和管理。Flink 的原生 Kubernetes 集成允许您直接在正在运行的 Kuberne…

SOEM(EtherCAT)主站API梳理

1. 适配器管理 ec_adaptert * ec_find_adapters(void); 功能&#xff1a;查找并返回系统中所有可用的EtherCAT适配器的列表。返回值&#xff1a;指向适配器列表的指针。如果没有找到适配器&#xff0c;则返回NULL。void ec_free_adapters(ec_adaptert * adapter); 功能&#x…

Taro React-Native Android apk 打包

一、打包 react native 之打包 Android的apk - 创客未来 - 博客园 react native 打包成Android 的apk安装包有两种方式&#xff0c;第一种方式是利用 Android studio 打包这里就不接介绍了。第二种是利用 react native 自身项目打包 1、生成签名 再一个空文件夹打开CMD&…

DevOps和CI/CD以及在微服务架构中的作用

DevOps 和 CI/CD 是现代软件开发和运维中两个重要的概念,它们之间有紧密的联系,但也有不同的侧重点。以下是对这两个概念的详细介绍和比较。 1. DevOps 定义: DevOps 是一种文化、运动和实践,旨在通过促进开发(Development)和运维(Operations)团队之间的协作,提升软…

深度学习数学基础之偏导数

深度学习数学基础之偏导数 偏导数的详细解释与实例 定义 偏导数是多变量函数对其中一个变量的导数&#xff0c;同时固定其他变量。它是研究函数在多维空间内各个方向上局部变化性质的基本工具。对于函数 ( f ( x 1 , x 2 , … , x n ) f(x_1, x_2, \dots, x_n) f(x1​,x2​…

大数据之Kafka集群的安装部署

Kafka集群的安装部署是一个相对复杂但有序的过程&#xff0c;涉及多个步骤和配置。以下是一个详细的Kafka集群安装部署指南&#xff1a; 一、前期准备 硬件与软件要求 确保集群中的每台服务器都满足Kafka的硬件要求&#xff0c;包括CPU、内存和磁盘空间。安装Java运行时环境&a…

论文阅读(二十三):Squeeze-and-Excitation Networks

文章目录 1.介绍2.原理3.代码4.SE模块的应用 论文&#xff1a;Squeeze-and-Excitation Networks   论文链接&#xff1a;Squeeze-and-Excitation Networks   代码链接&#xff1a;Github 1.介绍 卷积算子使网络能够在每一层的局部感受野中融合空间&#xff08;spatial&…

视频智能分析平台LiteAIServer摄像机视频分析软件下载检测工业排污

在全球环境保护与可持续发展的大潮中&#xff0c;工业排污的有效监控与管理成为了衡量一个国家或地区绿色发展能力的重要指标。面对这一挑战&#xff0c;视频智能分析平台LiteAIServer以其创新的技术手段&#xff0c;为工业排污监管开辟了新路径&#xff0c;展现了科技在环保领…

《MYSQL实战45讲》将脏页刷进磁盘时导致的性能抖动

脏页 当修改数据时&#xff0c;如果数据在内存中&#xff0c;就会直接在内存中修改&#xff0c;并且将操作记录在redolog中&#xff0c;这时就可以直接返回了。这时这个内存中的数据页与磁盘中的数据是不同的&#xff0c;称为脏页。 flush Mysql将内存中的脏页刷新到磁盘称为…

【git】 git 删除了文件,如何找回

git 删除了文件&#xff0c;如何找回 使用 git revert 并不是恢复误删除文件的最佳方法&#xff0c;因为 git revert 通常用于撤销已经提交的更改&#xff08;生成一个反向提交&#xff09;。如果你误删除了文件&#xff0c;还未提交更改&#xff0c;或者已经提交但想恢复删除…

【Unity基础】初识UI Toolkit - 运行时UI

Unity中的UI工具包&#xff08;UI Toolkit&#xff09;不但可以用于创建编辑器UI&#xff0c;同样可以来创建运行时UI。 关于Unity中的UI系统以及使用UI工具包创建编辑器UI可以参见&#xff1a; 1. Unity中的UI系统 2. 初识UI Toolkit - 编辑器UI 本文将通过一个简单示例来…