当前位置: 首页 > 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.gsyq.cn/news/1467564.html

相关文章:

  • 从数据到部署:employment-contract-ner-da 劳动合同NER模型完整开发流程指南
  • 计算机毕业设计之基于Django的就业信息推荐系统设计与实现
  • 091、YOLO 检测结果后处理:NMS/Soft-NMS/DIoU-NMS 的适用场景与效果对比
  • 观澜墅二手房价格走向:2026年行情深度解读 - 品牌2026
  • 【HarmonyOS实战】 坐标系转换:为什么地图上的位置偏了几百米?
  • 2026年德州市民高频选择的5家实体黄金回收白银回收铂金回收门店实地测评整理 - 中安检金银铂钻回收
  • Allegro导出Gerber与钻孔文件:PCB设计到生产的完整指南
  • 轻量级Python模糊认知图工具集:含Hebbian学习、多线程仿真与完整模型推理
  • Windows Terminal终极配置指南:从零打造高效命令行工作环境
  • 大模型API调用突然超时、429暴增、响应乱码?(企业级AI运维团队内部故障树手册首次公开)
  • 告别AWCC臃肿,AlienFX Tools轻量级控制方案终极指南
  • xrdp远程桌面认证与性能深度配置指南:从连接失败到高效传输的系统解决方案
  • 架构师认证体系:除了软考还有哪些证
  • Trelby实战指南:专业开源剧本写作工具的高效配置方法
  • 5步快速上手:Blender四边形重拓扑终极指南
  • MATLAB喷泉码通信仿真:多径衰落信道下的LT编码、BPSK传输与BP译码全流程实现
  • 5分钟免费汉化Axure RP:中文界面快速切换完整指南
  • VCC、VDD、VSS:从历史起源到PCB实战的电源网络设计指南
  • 2026年邯郸黄金回收白银回收铂金回收变卖,5 家靠谱贵金属门店实地测评汇总 - 中业金奢再生回收中心
  • STM32串口字符画:从图像处理到终端显示的嵌入式实践
  • [智能体-272]:词向量 vs 文本向量 对比详解
  • 2026年新疆直营旅行社怎么选?疆都国旅破解强制购物与信息不对称困局 - 优质企业观察收录
  • PotPlayer字幕翻译插件:5分钟免费实现外挂字幕实时翻译终极指南
  • 2026南宁汽车音响改装行业趋势测评|车主选购科普指南 - 百航
  • 匹配滤波器物理本质与工程实践:从信号聚焦到FPGA实现
  • 深入解析DMA传输:Block DMA与Scatter-Gather DMA的核心差异与选型指南
  • 2026年6月5日重庆黄金铂金K金钻石回收排行榜,五家正规门店实测对比 - 资讯速览
  • iOS视频播放与文件传输:从AVPlayer到系统沙盒的完整解决方案
  • 终极音乐解锁指南:3分钟破解所有加密音乐格式的完整教程
  • w64devkit深度解析:Windows平台C/C++开发工具链的架构设计与实战应用