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

Linux lsblk 命令详解

简介

Linux 中的 lsblk 命令,全称叫做:list block devices 用于列出块设备的信息,如硬盘、ssd盘及其分区。它提供了系统上所有块设备的树形结构,显示了它们的安装方式、大小和类型。

lsblk 命令读取 sysfs 文件系统和 udev db 收集信息。如果 udev db 不可用或在没有 udev 支持的情况下编译 lsblk,然后它尝试读取来自块设备的标签、uuid 和文件系统类型

基础语法

lsblk [options]

输出的字段

  • NAME:块设备的名称(例如,sda, nvme0n1)。

  • MAJ:MIN::主设备号和次设备号

  • RM:该设备是否可移动(1 表示可移动,0 表示不可移动)

  • SIZE:块设备的大小

  • RO:设备是否为只读(1 为只读,0 为读写)

  • TYPE:设备的类型,如:disk, part, rom

  • MOUNTPOINT:挂载点:设备在文件系统中的安装位置

常用选项

  • -a:在输出中包含空设备

  • -f:显示文件系统信息(类型、标签、UUID)

  • -l:以列表格式显示输出

  • -J:以 JSON 格式显示输出

  • -m:显示设备所有者、组和模式

  • -n:抑制输出中的标题行

  • -p:显示完整的设备路径(例如,/dev/sda,而不仅仅是 sda

  • -e <dev>:从输出中排除特定设备

  • -I <dev>:在输出中仅包含特定设备

  • -o <columns>:指定要显示的列

  • x:按指定字段对输出进行排序

示例用法

列出所有块设备

这将以树结构显示所有块设备

lsblk

示例输出

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   500G  0 disk
├─sda1        8:1    0   200G  0 part /
├─sda2        8:2    0   100G  0 part /home
└─sda3        8:3    0   200G  0 part [SWAP]
sdb           8:16   1   256G  0 disk
└─sdb1        8:17   1   256G  0 part /mnt/usb
仅显示设备名称
lsblk -n
JSON 或列表格式显示输出
lsblk -J  # JSON format
lsblk -l  # List format

示例输出

{
   "blockdevices": [
      {"name": "sda", "maj:min": "8:0", "rm": "0", "size": "238.5G", "ro": "0", "type": "disk", "mountpoint": null,
         "children": [
            {"name": "sda1", "maj:min": "8:1", "rm": "0", "size": "512M", "ro": "0", "type": "part", "mountpoint": "/boot/efi"},
            {"name": "sda2", "maj:min": "8:2", "rm": "0", "size": "238G", "ro": "0", "type": "part", "mountpoint": "/"}
         ]
      }
   ]
}
显示带有文件系统信息的设备

包含有关文件系统类型、标签和 UUID 的详细信息

lsblk -f

示例输出

NAME        FSTYPE LABEL    UUID                                 MOUNTPOINT
sda
├─sda1      ext4   rootfs   1234-5678-ABCD-EFGH                 /
├─sda2      ext4   home     8765-4321-HGFE-DCBA                 /home
└─sda3      swap   swap     1122-3344-5566-7788                 [SWAP]
sdb
└─sdb1      vfat   USB_DISK ABCD-1234                           /mnt/usb
显示具有权限的设备
lsblk -m
显示所有设备,包括空设备

默认情况下,lsblk 不会显示没有文件系统或挂载点的设备

lsblk -a
显示内核信息

显示有关设备的内核信息(例如主设备号和次设备号)

lsblk -o KNAME,MAJ:MIN
自定义字段展示
lsblk -o NAME,SIZE,FSTYPE,UUID,MOUNTPOINT
仅列出已挂载的文件系统
lsblk -f | grep "/"
UUID 列出设备
lsblk -o NAME,UUID | grep sda1
排除可移动设备

排除 USB 驱动器和其他可移动设备

lsblk -e 7

设备类型 7 通常对应于循环设备
显示特定设备的详细信息
lsblk /dev/sda
识别未使用的分区

列出所有未挂载的分区

lsblk -f | grep -v "MOUNTPOINT" | grep -v "[SWAP]"
在脚本中使用 lsblk
for dev in $(lsblk -ln -o NAME); do
    echo "Device: $dev"
done

http://www.kler.cn/a/518428.html

相关文章:

  • 【ComfyUI专栏】ComfyUI 部署Kolors
  • 【25美赛A题-F题全题目解析】2025年美国大学生数学建模竞赛(MCM/ICM)解题思路|完整代码论文集合
  • Neural networks 神经网络
  • Poseidon哈希为什么适合做ZKP
  • 编码器和扩散模型
  • rocketmq-product-send方法源码分析
  • 金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南
  • 高级 SQL 优化:让查询飞起来
  • 1.24 共享内存和信号灯集
  • SSM框架探秘:Spring 整合 SpringMVC 框架
  • 神经网络基础 | 给定条件下推导对应的卷积层参数
  • 图神经网络系列论文阅读DAY1:《Predicting Tweet Engagement with Graph Neural Networks》
  • tomcat的accept-count、max-connections、max-threads三个参数的含义
  • 【openwrt】openwrt odhcpd IPv6 prefix_filter选项说明
  • Google Protocol Buffers的.NET与Python
  • Python之百度财务数据可视化分析
  • 7-Zip高危漏洞CVE-2025-0411 poc 攻击者可绕过安全机制远程执行代码
  • WPF 使用iconfont
  • Sentinel 控制台集成 Nacos 实现规则配置双向同步和持久化存储(提供改造后源码)
  • DRF开发避坑指南01
  • Ubuntu20.04 运行 PL-VIO
  • BoosterX:电脑加速的智能管家,便携、绿色、操作简单
  • NVIDIA JetPack 6.2 为 NVIDIA Jetson Orin Nano 和 Jetson Orin NX 模块带来了超级模式
  • NIO | 什么是Java中的NIO —— 结合业务场景理解 NIO (二)
  • FPGA实现光纤通信(3)——光纤8b/10b编码数据回环
  • [C++技能提升]类注册