Linux lsblk 命令详解
简介Linux 中的 lsblk
命令,全称叫做:list block devices 用于列出块装备的信息,如硬盘、ssd盘及其分区。它提供了体系上所有块装备的树形结构,显示了它们的安装方式、大小和类型。
lsblk
命令读取 sysfs 文件体系和 udev db 收集信息。如果 udev db 不可用或在没有 udev 支持的环境下编译 lsblk
,然后它实验读取来自块装备的标签、uuid 和文件体系类型
基础语法
lsblk
输出的字段
[*] 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 500G0 disk
├─sda1 8:1 0 200G0 part /
├─sda2 8:2 0 100G0 part /home
└─sda3 8:3 0 200G0 part
sdb 8:16 1 256G0 disk
└─sdb1 8:17 1 256G0 part /mnt/usb
仅显示装备名称
lsblk
-n 以 JSON 或列表格式显示输出
lsblk
-J# JSON formatlsblk
-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
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 "" 在脚本中使用 lsblk
for dev in $(lsblk
-ln -o NAME); do echo "Device: $dev"done
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]