lsblk
是 Linux 系统中用于列出所有可用的块设备(block devices)的命令。它提供关于硬盘、分区、挂载点等的详细信息,广泛用于系统管理和存储设备的操作。
lsblk
命令的基本用法
lsblk [选项]
默认情况下,lsblk
会显示系统中所有块设备的信息。
常用选项
-a
或--all
: 显示所有设备,包括空设备。lsblk -a
-f
或--fs
: 显示设备的文件系统类型。lsblk -f
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT sda └─sda1 ext4 4d2b5d54-03c6-4bf5-8d6e-42b9b3b3657b / sdb └─sdb1 swap ebc9a571-e04f-4560-89b2-67eddf0450c1 [SWAP]
-l
或--list
: 以列表形式显示输出(不使用树形结构)。lsblk -l
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part / sdb 8:16 0 500G 0 disk └─sdb1 8:17 0 500G 0 part [SWAP]
-o
或--output
: 指定显示的列,控制输出的详细信息。常用列有:- NAME: 设备名称
- SIZE: 设备大小
- TYPE: 设备类型(disk、part、lvm、rom等)
- MOUNTPOINT: 挂载点
例如,显示设备的名称、大小和挂载点:
lsblk -o NAME,SIZE,MOUNTPOINT
输出示例:
NAME SIZE MOUNTPOINT sda 100G └─sda1 100G / sdb 500G └─sdb1 500G [SWAP]
-d
或--nodeps
: 只显示设备本身,不显示其分区和依赖项。lsblk -d
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk sdb 8:16 0 500G 0 disk
-e
或--exclude
: 排除某些设备类型。例如,排除RAM磁盘设备(7
表示loop设备,1
表示RAM设备):lsblk -e 7
-r
或--raw
: 以纯文本形式显示输出,不进行格式化。lsblk -r
-m
或--perms
: 显示设备的访问权限。lsblk -m
输出示例:
NAME SIZE OWNER GROUP MODE sda 100G root disk brw-rw---- └─sda1 100G root disk brw-rw---- sdb 500G root disk brw-rw---- └─sdb1 500G root disk brw-rw----
-p
或--paths
: 以完整路径形式显示设备名称。lsblk -p
输出示例:
NAME SIZE MOUNTPOINT /dev/sda 100G └─/dev/sda1 100G / /dev/sdb 500G └─/dev/sdb1 500G [SWAP]
-n
或--noheadings
: 隐藏表头。lsblk -n
-t
或--topology
: 显示设备的拓扑结构。lsblk -t
-J
或--json
: 以 JSON 格式输出设备信息。lsblk -J
-P
或--pairs
: 以键值对的格式显示设备信息。lsblk -P
实用例子
1. 查看所有设备及其挂载点信息:
lsblk -f
2. 只显示磁盘设备,不包括分区和依赖项:
lsblk -d
3. 以列表形式查看设备及其大小:
lsblk -l
4. 以完整路径显示所有设备信息:
lsblk -p
5. 排除 loop 设备 (通常是虚拟磁盘):
lsblk -e 7
6. 显示设备的文件系统类型、UUID 和标签:
lsblk -o NAME,FSTYPE,LABEL,UUID
lsblk
命令非常适合于查看系统中可用的存储设备、它们的分区结构和挂载情况,是系统管理和磁盘操作的重要工具之一。