当前位置: 首页 > news >正文

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

相关文章:

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

0 引言 在进行系统安全检测时&#xff0c;我们需要收集块设备的信息&#xff0c;这些可以通过blkid命令来获取。 1 blkid命令的安装 blkid命令是基于libblkid库的命令行工具&#xff0c;可以在大多数Linux发行版中使用。 如果你的Linux系统中没有安装blkid命令&#xff0c;…...

wireshark筛选条件整理

Wireshark筛选条件整理 一、MAC地址过滤二、IP地址过滤三、端口过滤四、协议筛选五、数据分析1、整体2、frame数据帧分析3、 Ethernet II 以太网4、IP协议5、TCP6、HTTP7、ARP8、DLEP动态链接交换协议 六、统计-协议分级&#xff08;统计包占比&#xff09; and && 、 …...

基于现代 C++17 的模块化视频质量诊断处理流程设计

文章目录 0. 引言1. 原始设计分析2. 新的设计思路2.1 定义通用的检测接口2.2 使用 std::function 和 std::any 管理检测模块2.3 构建可动态配置的检测管道 3. 示例实现3.1 定义检测接口和模块3.1.1 检测接口3.1.2 信号检测模块3.1.3 冻结检测模块3.1.4 其他检测模块 3.2 构建检…...

高级java每日一道面试题-2024年10月23日-JVM篇-说一下JVM有哪些垃圾回收算法?

如果有遗漏,评论区告诉我进行补充 面试官: 说一下JVM有哪些垃圾回收算法? 我回答: 在 Java 虚拟机 (JVM) 中&#xff0c;垃圾回收 (Garbage Collection, GC) 是一项非常重要的功能&#xff0c;用于自动管理应用程序的内存。JVM 采用多种垃圾回收算法来决定何时以及如何回收…...

高效文本编辑与导航:Vim中的三种基本模式及粘滞位的深度解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

w005基于Springboot学生心理咨询评估系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…...

实战-任意文件下载

实战-任意文件下载 1、开局 开局一个弱口令&#xff0c;正常来讲我们一般是弱口令或者sql&#xff0c;或者未授权 那么这次运气比较好&#xff0c;直接弱口令进去了 直接访问看看有没有功能点&#xff0c;正常做测试我们一定要先找功能点 发现一个文件上传点&#xff0c;不…...

PG数据库之视图详解

1. 视图的基本定义 在PostgreSQL&#xff08;简称pg&#xff09;数据库中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟表&#xff0c;其内容由SQL查询定义。视图并不实际存储数据&#xff0c;而是在每次查询时根据定义的查询语句动态生成结果。视图可以简化复杂的…...

时间序列预测(十五)——有关Python项目框架的实例分析

#1024程序员节&#xff5c;征文# 在之前的学习中&#xff0c;已经对时间序列预测的相关内容有了大致的了解。为了进一步加深理解&#xff0c;并能够将所学知识应用于实际中&#xff0c;我决定找一个完整的Python框架来进行深入学习。经过寻找&#xff0c;我终于找到了一篇非常具…...

ETL、ELT和反向ETL都有什么不同?怎么选择?

数据处理是现代企业中不可或缺的一部分。随着数据量的不断增长&#xff0c;如何高效地处理、转换和加载数据变得尤为重要。本文将介绍三种常见的数据处理方式&#xff1a;ETL、ELT和反向ETL&#xff0c;帮助读者更好地理解和选择适合自己业务需求的方式。 一、ETL 定义&#…...

linux 中文实用型手册 基于RHEL(红帽系)

硬件系统 Updated by wangjing on 2024-10-28 at 02:36:57 in Tongzhou District, Beijing. 硬件信息 机器型号 dmidecode | grep "Product Name"CPU型号 cat /proc/cpuinfo |grep "model name" | uniqWWWCPU详情 lscpuCPU个数 cat /proc/cpuinfo |grep &q…...

Hash表算法

哈希表 理论知识&#xff08;本文来自于代码随想录摘抄&#xff09;什么是哈希常见的三种哈希结数组&#xff1a;set:map:其他常用方法或者技巧&#xff08;自己总结的&#xff09; 练习题和讲解有效的字母移位词349. 两个数组的交集1. 两数之和454. 四数相加 II15. 三数之和 总…...

MySQL企业常见架构与调优经验分享

文章目录 一、选择 PerconaServer、MariaDB 还是 MYSQL二、常用的 MYSQL 调优策略三、MYSOL 常见的应用架构分享四、MYSOL 经典应用架构 观看学习课程的笔记&#xff0c;分享于此~ 课程&#xff1a;MySQL企业常见架构与调优经验分享 mysql官方优化文档 调优MySQL参数 一、选择 …...

C++引用类型变量

引用变量的主要用途是用作函数的形参。这样函数将使用原始数据&#xff0c;而不是副本。除指针之外&#xff0c;引用也为处理大型结构提供了一种非常方便的途径。 再C中使用&符号标识引用。也就是说C给&符号赋予了另一个含义&#xff0c;将其用来声明引用。 引用的声…...

《C++23 新特性:现代软件开发的变革力量》

在软件开发的快速演进中&#xff0c;C作为一种强大且广泛应用的编程语言&#xff0c;不断推陈出新以适应日益复杂的开发需求。C23 的到来&#xff0c;为现代软件开发带来了诸多新的机遇和挑战。它的新特性不仅影响着开发者的编程习惯&#xff0c;也在代码效率、可维护性以及软件…...

Educational Codeforces Round 88 E. Modular Stability

题目链接 Educational Codeforces Round 88 E. Modular Stability 思路 对于任意的非负整数 x x x&#xff0c;我们要满足 x % a % b x % b % a x \% a \% b x \% b \% a x%a%bx%b%a。因为 a < b a < b a<b&#xff0c;所以只有 b b b为 a a a的倍数时才满足条件…...

Android中SurfaceView与GLSurfaceView 的关系

SurfaceView 与 GLSurfaceView 的关系 在 Android 开发中&#xff0c;SurfaceView 和 GLSurfaceView 是实现自定义渲染效果的关键组件。它们提供了不同的渲染方式&#xff0c;适用于不同的应用场景。我们将通过以下几个方面详细说明 SurfaceView 和 GLSurfaceView 的特点及实现…...

numpy——数学运算

一、标量——矢量 import numpy as npa 3.14 b np.array([[9, 5], [2, 7]])print(a) print(b)# ---------- 四则运算 ---------- print(a b) # np.add print(a - b) # np.subtract print(a * b) # np.multiply print(a / b) # np.divide 二、矢量——矢量 import nump…...

【工具】Charles对360浏览器抓包抓包

Charles 和 switchy sharp 配合&#xff0c;可以对 Chrome 进行抓包也可以配合对360安全浏览器抓包。 本文以Windows 电脑中的配置为例&#xff0c;介绍如何实现抓包。&#xff08;Mac中操作基本一致&#xff09; 1.安装Charles 可根据自己的电脑下载对应的版本&#xff1a;…...

【HarmonyOS】判断应用是否已安装

【HarmonyOS】判断应用是否已安装 前言 在鸿蒙中判断应用是否已安全&#xff0c;只是通过包名是无法判断应用安装与否。在鸿蒙里新增了一种判断应用安装的工具方法&#xff0c;即&#xff1a;canOpenLink。 使用该工具函数的前提是&#xff0c;本应用配置了查询标签querySch…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...