Linux lsblk 命令详解

王柳  论坛元老 | 2025-1-25 21:23:59 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1021|帖子 1021|积分 3063

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
简介

Linux 中的 lsblk
命令,全称叫做:list block devices 用于列出块装备的信息,如硬盘、ssd盘及其分区。它提供了体系上所有块装备的树形结构,显示了它们的安装方式、大小和类型。
lsblk
命令读取 sysfs 文件体系和 udev db 收集信息。如果 udev db 不可用或在没有 udev 支持的环境下编译 lsblk
,然后它实验读取来自块装备的标签、uuid 和文件体系类型
基础语法

  1. lsblk
  2. [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:按指定字段对输出举行排序
示例用法

列出所有块装备

   这将以树结构显示所有块装备
  1. lsblk
复制代码
示例输出
  1. NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
  2. sda           8:0    0   500G  0 disk
  3. ├─sda1        8:1    0   200G  0 part /
  4. ├─sda2        8:2    0   100G  0 part /home
  5. └─sda3        8:3    0   200G  0 part [SWAP]
  6. sdb           8:16   1   256G  0 disk
  7. └─sdb1        8:17   1   256G  0 part /mnt/usb
复制代码
仅显示装备名称

  1. lsblk
  2. -n
复制代码
以 JSON 或列表格式显示输出

  1. lsblk
  2. -J  # JSON formatlsblk
  3. -l  # List format
复制代码
示例输出
  1. {
  2.    "blockdevices": [
  3.       {"name": "sda", "maj:min": "8:0", "rm": "0", "size": "238.5G", "ro": "0", "type": "disk", "mountpoint": null,
  4.          "children": [
  5.             {"name": "sda1", "maj:min": "8:1", "rm": "0", "size": "512M", "ro": "0", "type": "part", "mountpoint": "/boot/efi"},
  6.             {"name": "sda2", "maj:min": "8:2", "rm": "0", "size": "238G", "ro": "0", "type": "part", "mountpoint": "/"}
  7.          ]
  8.       }
  9.    ]
  10. }
复制代码
显示带有文件体系信息的装备

   包含有关文件体系类型、标签和 UUID 的详细信息
  1. lsblk
  2. -f
复制代码
示例输出
  1. NAME        FSTYPE LABEL    UUID                                 MOUNTPOINT
  2. sda
  3. ├─sda1      ext4   rootfs   1234-5678-ABCD-EFGH                 /
  4. ├─sda2      ext4   home     8765-4321-HGFE-DCBA                 /home
  5. └─sda3      swap   swap     1122-3344-5566-7788                 [SWAP]
  6. sdb
  7. └─sdb1      vfat   USB_DISK ABCD-1234                           /mnt/usb
复制代码
显示具有权限的装备

  1. lsblk
  2. -m
复制代码
显示所有装备,包括空装备

   默认环境下,lsblk
不会显示没有文件体系或挂载点的装备
  1. lsblk
  2. -a
复制代码
显示内核信息

   显示有关装备的内核信息(比方主装备号和次装备号)
  1. lsblk
  2. -o KNAME,MAJ:MIN
复制代码
自定义字段展示

  1. lsblk
  2. -o NAME,SIZE,FSTYPE,UUID,MOUNTPOINT
复制代码
仅列出已挂载的文件体系

  1. lsblk
  2. -f | grep "/"
复制代码
按 UUID 列出装备

  1. lsblk
  2. -o NAME,UUID | grep sda1
复制代码
排除可移动装备

   排除 USB 驱动器和其他可移动装备
  1. lsblk
  2. -e 7装备类型 7 通常对应于循环装备
复制代码
显示特定装备的详细信息

  1. lsblk
  2. /dev/sda
复制代码
辨认未使用的分区

   列出所有未挂载的分区
  1. lsblk
  2. -f | grep -v "MOUNTPOINT" | grep -v "[SWAP]"
复制代码
在脚本中使用 lsblk


  1. for dev in $(lsblk
  2. -ln -o NAME); do    echo "Device: $dev"done
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表