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

Linux lsblk 命令详解:块设备信息查看与磁盘管理实战

做服务器运维的时候,经常需要搞清楚机器上挂了哪些磁盘、分区情况怎么样、文件系统是什么类型。df -h能看已挂载的磁盘空间,但看不到未挂载的分区和磁盘的物理拓扑关系。这时候lsblk就派上用场了。

lsblk 是什么

lsblk(List Block Devices)是 Linux util-linux 包提供的一个命令,用来列出系统上所有块设备的信息。所谓块设备,就是以固定大小块(通常是 512 字节或 4KB)进行数据读写的存储设备——硬盘、SSD、U 盘、光驱这些都算。

它最大的优势是能以树形结构展示设备和分区的父子关系,让你一眼看清"哪块盘下面有几个分区、分别挂载到哪里"。

基本用法

lsblk

输出类似这样:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 500G 0 disk ├─sda1 8:1 0 1G 0 part /boot ├─sda2 8:2 0 100G 0 part / └─sda3 8:3 0 399G 0 part /home sdb 8:16 0 2T 0 disk └─sdb1 8:17 0 2T 0 part /data sr0 11:0 1 1024M 0 rom

各列含义:

列名含义
NAME设备名称
MAJ:MIN主设备号:次设备号(内核识别用)
RM是否可移动设备(1=是,0=否)
SIZE设备大小
RO是否只读
TYPE设备类型(disk/part/rom/lvm等)
MOUNTPOINT挂载点

常用参数实战

查看文件系统信息

lsblk-f

-f参数会额外显示文件系统类型(FSTYPE)、UUID、挂载选项和标签:

NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 boot a1b2c3d4-... /boot ├─sda2 ext4 root e5f6g7h8-... / └─sda3 ext4 home i9j0k1l2-... /home sdb └─sdb1 xfs data m3n4o5p6-... /data

这个在配置/etc/fstab时特别有用——你需要 UUID 来做持久化挂载,而不是设备名(因为设备名可能会变)。

自定义输出列

-o参数可以指定要显示的列,组合非常灵活:

# 只看名称、大小、文件系统类型和挂载点lsblk-oNAME,SIZE,FSTYPE,MOUNTPOINT# 查看设备对应的物理旋转状态(SSD vs HDD)lsblk-oNAME,SIZE,TYPE,ROTA# ROTA=1 表示机械硬盘,ROTA=0 表示 SSD

常用的可用列包括:NAMESIZETYPEFSTYPEMOUNTPOINTUUIDLABELMODELSERIALROTA(旋转)、TRAN(传输协议:sata/nvme/usb)、HOTPLUG(热插拔)、STATE

JSON 格式输出

lsblk-J

输出 JSON 格式,方便脚本解析:

{"blockdevices":[{"name":"sda","maj:min":"8:0","rm":false,"size":"500G","ro":false,"type":"disk","mountpoint":null,"children":[{"name":"sda1","maj:min":"8:1","size":"1G","type":"part","mountpoint":"/boot"}]}]}

这个在写自动化运维脚本时非常实用,配合jq可以精确提取任意字段:

# 获取所有磁盘的大小lsblk-J-d-oNAME,SIZE|jq'.blockdevices[] | {name, size}'# 获取所有未挂载的分区lsblk-J-oNAME,MOUNTPOINT|jq'.blockdevices[].children[] | select(.mountpoint == null) | .name'

列表格式输出

lsblk-l

去掉树形缩进,用纯列表展示。在写脚本需要awk/grep处理时更方便:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 500G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 100G 0 part / sda3 8:3 0 399G 0 part /home

只看磁盘不看分区

lsblk-d

-d(–nodeps)参数只显示顶层设备,不显示子设备(分区):

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 500G 0 disk sdb 8:16 0 2T 0 disk sr0 11:0 1 1024M 0 rom

底层原理:lsblk 从哪获取数据

lsblk的数据来源是/sys/block/dev目录下的 sysfs 虚拟文件系统。内核在检测到块设备时,会在 sysfs 中创建对应的目录结构。

# 查看内核识别到的所有块设备ls/sys/block/# 查看某块盘的具体信息cat/sys/block/sda/size# 扇区数量cat/sys/block/sda/queue/rotational# 是否旋转(0=SSD, 1=HDD)cat/sys/block/sda/device/model# 磁盘型号

理解这一点很重要:lsblk不需要 root 权限就能读取大部分信息(因为它读的是 sysfs),但某些详细信息(如 SERIAL)可能需要 root。

实际运维场景

场景一:新服务器磁盘初始化

拿到一台新机器,第一步就是看看有哪些盘:

# 查看所有块设备及其文件系统lsblk-f# 确认哪块盘是 SSD(ROTA=0)lsblk-d-oNAME,SIZE,ROTA,MODEL# 确认未挂载的分区lsblk-oNAME,SIZE,FSTYPE,MOUNTPOINT|grep-v'/'

场景二:排查磁盘空间不足

# 看整体拓扑,确认是否有未挂载的大分区lsblk# 配合 df 确认已用空间df-h# 找出所有 LVM 逻辑卷lsblk-oNAME,SIZE,TYPE|greplvm

场景三:自动化脚本中获取磁盘信息

#!/bin/bash# 获取第一块非系统盘的设备名DISK=$(lsblk-d-n-oNAME,SIZE,TYPE|\grep'disk'|\awk'NR>1 {print $1; exit}')echo"找到数据盘: /dev/$DISK"

-n参数去掉表头,-o指定列,这样脚本处理起来干净利落。

lsblk 与其他命令的配合

命令用途与 lsblk 的关系
df -h查看已挂载分区的空间使用lsblk 看物理拓扑,df 看使用率
fdisk -l查看分区表详情fdisk 更底层,lsblk 更直观
blkid查看块设备 UUID 和类型lsblk -f 包含了 blkid 的信息
parted -lGPT 分区表操作parted 可修改,lsblk 只读
smartctl磁盘健康状态检测lsblk 看结构,smartctl 看健康

小结

lsblk是 Linux 系统管理中一个"小而美"的命令——它不修改任何东西,只负责把块设备信息清晰地展示出来。日常运维中,lsblk -f基本能覆盖 80% 的磁盘查看需求,lsblk -J则是自动化脚本的好帮手。

更多 Linux 命令参考,可以使用 JsonKit Linux 命令参考 工具在线查询。


相关工具:Linux fdisk 磁盘分区工具 | Linux mount 文件系统挂载

http://www.jsqmd.com/news/955942/

相关文章:

  • 计算机毕业设计之基于微信小程序的自动信息收集系统的设计和实现
  • 面向任务队列的Python深度强化学习调度工具包(含A2C/Pg双算法实现与可视化评估)
  • 西安百达翡丽 / 劳力士 / 浪琴回收实测优选!5 家门店盘点,拒绝行业黑话 + 快速回款 - 奢侈品交易观察员
  • 驾照照片2026年手机制作完整指南 - 软件小管家
  • 靠谱新闻稿软文发布平台推荐!完整发稿流程手把手教你 - 代码非世界
  • 【HarmonyOS实战】 地图动画:镜头移动与Marker缩放动画详解
  • GroundingDINO:跨模态目标检测的技术革命与实战指南
  • Dism++:为什么说它是Windows系统维护的“瑞士军刀“?
  • 终极宝可梦存档管理工具PKSM:从第一代到第八代的完整解决方案
  • 基于 2026 Verizon DBIR 的企业移动端全域风险与 AI 驱动防御技术研究
  • 计算机毕业设计之基于Django的就业信息推荐系统设计与实现
  • 别再手动写URDF了!SolidWorks插件一键导出,搞定Innfos六轴机械臂的ROS仿真模型
  • 091、YOLO 检测结果后处理:NMS/Soft-NMS/DIoU-NMS 的适用场景与效果对比
  • 观澜墅二手房价格走向:2026年行情深度解读 - 品牌2026
  • 【HarmonyOS实战】 坐标系转换:为什么地图上的位置偏了几百米?
  • 从数据到部署:employment-contract-ner-da 劳动合同NER模型完整开发流程指南
  • 智能手机红海竞争下的硬件设计挑战与工程师应对策略
  • 2026年多终端资产管理软件推荐:适配PC、手机、平板全平台操作 - 品牌2026
  • 如何快速掌握Ultralytics YOLO:新手的完整入门指南
  • 2026年德州市民高频选择的5家实体黄金回收白银回收铂金回收门店实地测评整理 - 中安检金银铂钻回收
  • 轻量级Python模糊认知图工具集:含Hebbian学习、多线程仿真与完整模型推理
  • 达林顿管原理与应用:四种结构、选型要点与实战指南
  • 新闻标题情感打分工具:Python一键运行,含数据、模型和可视化结果
  • Windows Terminal终极配置指南:从零打造高效命令行工作环境
  • 2026年6月优质的管梁直销厂家推荐,半轴套管焊接总成/拉伸件/钣金件/阀板/焊接结构件/管梁/尿素泵支架,管梁企业推荐 - 品牌推荐师
  • Allegro导出Gerber与钻孔文件:PCB设计到生产的完整指南
  • 大模型API调用突然超时、429暴增、响应乱码?(企业级AI运维团队内部故障树手册首次公开)
  • 2026年抚州本地人常去的 5 家黄金回收白银回收铂金回收实体店实地测评汇总 - 诚金汇钻回收公司
  • STM32标准外设库编译警告assert_param隐式声明的根源与解决
  • xrdp远程桌面认证与性能深度配置指南:从连接失败到高效传输的系统解决方案