lsblk 命令:获取有关 Linux 系统上的驱动器和块设备的信息

简介: 【7月更文挑战第19天】

lsblk 命令是 Linux 系统管理中不可或缺的工具之一。它用于显示系统中所有块设备的信息,包括硬盘、分区、光盘、闪存等。通过 lsblk,管理员可以快速了解设备的层次结构、大小、类型以及挂载点等关键信息,从而进行有效的系统维护和管理。

在深入探讨 lsblk 命令的各种用法和选项之前,我们首先了解一下什么是块设备。块设备是一种计算机存储设备,可以在不考虑文件系统的情况下直接读取和写入数据。常见的块设备包括硬盘、SSD、光盘驱动器、USB 闪存驱动器等。

使用 lsblk 命令,您可以轻松地获取块设备的详细信息,包括:

  • 设备名称
  • 主次设备号
  • 设备大小
  • 设备类型
  • 挂载点
  • 文件系统类型

lsblk 命令的基本用法

显示所有设备

使用 lsblk 命令不带任何参数时,它会列出系统中的所有块设备,包括硬盘、分区、光盘等。默认输出非常简洁,但包含了设备的关键信息,如下所示:

lsblk

输出示例:

在这个输出中,每一行代表一个块设备或其分区。通过这种方式,您可以清楚地看到每个设备的层次结构。例如,sda 是一个物理磁盘,它有一个分区 sda1。每个分区的信息也被列出,包括它们的大小和挂载点。

显示特定设备

如果只想查看特定设备的信息,可以在命令后加上设备名称。例如,要查看 sda 设备的详细信息,可以使用以下命令:

lsblk /dev/sda1

输出示例:

在这个示例中,lsblk 只显示了 sda1 设备的信息及其分区情况。这对于管理员在排查特定磁盘问题或管理特定磁盘时非常有用。

lsblk 输出的解释

输出列的含义

lsblk 命令的输出包含多个列,每一列都提供了有关设备的不同信息。以下是这些列的详细解释:

  • NAME: 设备名称。通常是一个标识符,如 sdasda1
  • MAJ:MIN: 主次设备号,用于唯一标识设备。例如,8:0 表示 sda 设备。
  • RM: 是否为可移动设备,1 表示可移动,0 表示不可移动。
  • SIZE: 设备的大小,例如 120G 表示 120 GB。
  • RO: 只读标志,1 表示只读,0 表示可读写。
  • TYPE: 设备类型(如 diskpartrom 等)。disk 表示物理磁盘,part 表示分区。
  • MOUNTPOINT: 设备的挂载点,例如 /boot/

这些信息对于系统管理员了解和管理块设备非常重要。例如,通过查看 SIZE 列,您可以了解每个设备的存储容量;通过查看 MOUNTPOINT 列,您可以了解设备的挂载位置。

常见的设备类型

TYPE 列中,常见的设备类型包括:

  • disk: 物理硬盘或虚拟硬盘。
  • part: 硬盘分区。
  • rom: 只读存储设备,如 CD/DVD。
  • loop: 环回设备,用于挂载镜像文件。
  • raid: RAID 设备。

理解这些设备类型有助于更好地解释 lsblk 的输出。例如,loop 设备通常用于挂载 ISO 镜像文件,而 raid 设备则用于存储冗余数据。

lsblk 命令的选项

lsblk 命令提供了丰富的选项来控制输出格式和内容。以下是一些常用的选项:

常用选项

  • -a, --all: 显示所有设备,包括空设备。
  • -b, --bytes: 以字节为单位显示设备大小。
  • -d, --nodeps: 仅显示设备本身,不显示依赖设备(如分区)。
  • -e, --exclude: 排除指定类型的设备。
  • -f, --fs: 显示文件系统信息。
  • -h, --help: 显示帮助信息。
  • -J, --json: 以 JSON 格式输出。
  • -l, --list: 以列表形式输出。

过滤选项

lsblk 提供了多个过滤选项,可以根据需要过滤显示的设备信息:

  • -i, --ascii: 以 ASCII 格式显示设备树。
  • -m, --perms: 显示设备的权限信息。
  • -n, --noheadings: 不显示表头。
  • -o, --output: 指定输出的列。
  • -r, --raw: 以原始格式输出。

输出格式选项

通过指定输出格式选项,可以自定义 lsblk 的输出格式。例如,以下命令只显示设备名称和大小:

lsblk -o NAME,SIZE

输出示例:

结合其他命令使用 lsblk

lsblk 可以与其他命令结合使用,进一步处理和分析设备信息。以下是几个常见的组合示例:

与 grep 结合

使用 grep 命令过滤 lsblk 的输出。例如,要查找挂载在 /data 的设备:

lsblk | grep '/data'

输出示例:

与 awk 结合

使用 awk 命令格式化 lsblk 的输出。例如,要显示设备名称和大小:

lsblk | awk '{print $1, $4}'

输出示例:

在这个示例中,awk 命令将 lsblk 的输出按照空格分隔,并打印第一列(设备名称)和第四列(设备大小)。

实际应用案例

查看分区信息

要详细查看某个磁盘的分区信息,可以使用以下命令:

lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT /dev/sda1

输出示例:

在这个示例中,-o 选项指定了要显示的列,包括设备名称、文件系统类型、大小和挂载点。管理员可以根据这些信息了解磁盘的分区情况,以便进行管理和维护。

监控设备状态

管理员可以定期使用 lsblk 检查系统中所有设备的状态,确保设备正常工作。例如,可以通过 cron 定期运行以下命令,并将结果保存到日志文件:

lsblk -f > /var/log/lsblk_status.log

这样,管理员就可以定期检查设备的状态,并在有问题时及时采取措施进行修复。

总结

lsblk 是一个非常有用的命令行工具,用于查看和管理 Linux 系统中的块设备。通过详细了解 lsblk 的各种用法和选项,管理员可以更有效地管理系统硬件资源。本指南介绍了 lsblk 的基本用法、高级选项以及实际应用案例,希望能帮助您在日常系统管理中更好地使用 lsblk 命令。在接下来的部分,我们将深入探讨 lsblk 命令的各种选项和用法,以便您更全面地了解和掌握这个强大的工具。

目录
相关文章
|
2天前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
82 17
|
9天前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
59 23
|
7天前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
96 16
|
1月前
|
Linux 定位技术
Linux系统中的cd命令:目录切换技巧
踏过千山,越过万水,人生就是一场不断前行的旅程,总充满了未知与挑战。然而,“cd”命令如同你的旅伴,会带你穿梭在如棋盘一般的文件系统中,探索每一处未知。希望你能从“cd”命令中找到乐趣,像是掌控了一种络新妙的魔法,去向未知进发,开始你的探索之旅。
125 24
|
1月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
87 19
|
29天前
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
67 15
|
1月前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
94 17
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
3591 0
|
关系型数据库 MySQL Linux
卸载、下载、安装mysql(Linux系统centos7)
卸载、下载、安装mysql(Linux系统centos7)
316 0
|
7月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
162 0