在Linux系统中,查看磁盘分区数量有多种成熟的方法,不同的命令适用于不同的查看需求,下面逐一介绍常用的操作方式。

方法一:使用lsblk命令查看分区
lsblk是列出块设备的常用命令,默认会以树形结构展示所有磁盘和对应的分区信息,非常直观。执行以下命令即可查看:
# 列出所有块设备,包含分区信息 lsblk
输出结果中,TYPE列标注为disk的是物理磁盘,标注为part的就是分区。统计TYPE为part的行数,就能得到当前系统的分区总数量。如果需要更简洁的输出,可以配合参数过滤:
# 只显示设备名和类型,方便统计分区数量 lsblk -o NAME,TYPE | grep part | wc -l
方法二:使用fdisk命令查看分区
fdisk是传统的磁盘分区工具,也可以用来查看分区信息。执行以下命令查看指定磁盘的分区情况,以/dev/sda为例:
# 查看/dev/sda磁盘的分区表信息 fdisk -l /dev/sda
如果需要查看所有磁盘的分区信息,直接执行fdisk -l即可。输出内容中,Device开头的行就是分区,统计这类行的数量就能得到对应磁盘的分区数。注意该命令需要root权限才能完整查看所有磁盘信息。
方法三:使用df命令查看已挂载分区
df命令主要用来查看文件系统的磁盘使用情况,默认只会显示已挂载的分区,适合查看正在使用的分区数量:
# 以人类可读的格式显示已挂载的文件系统 df -h
输出结果中,Filesystem列显示的就是已挂载的分区设备,统计该列中/dev/开头的行数,就能得到已挂载的分区数量。如果需要查看所有分区包括未挂载的,这个方法就不适用了。
方法四:查看/proc/partitions文件
Linux系统的/proc目录下存储了内核的实时信息,partitions文件就包含了所有分区的信息,执行以下命令查看:
# 查看内核记录的分区信息 cat /proc/partitions
该文件的内容分为三部分,分别是主设备号、次设备号和块数量,后面的设备名就是分区。排除掉磁盘本身的设备名,剩下的就是分区,统计对应的行数即可得到分区总数量。
不同方法的适用场景对比
不同查看方法的适用场景存在差异,具体可以参考下表:
| 方法 | 适用场景 | 是否需要root权限 |
|---|---|---|
| lsblk | 快速查看所有分区,直观展示磁盘和分区对应关系 | 否 |
| fdisk -l | 查看详细分区表信息,包括未挂载分区 | 是 |
| df -h | 查看已挂载的分区,同时了解分区使用情况 | 否 |
| /proc/partitions | 获取内核层面的分区原始信息 | 否 |
注意事项
- 部分命令查看分区信息需要root权限,如果执行后输出内容不全,可以尝试在命令前加sudo。
- lsblk命令默认不会显示loop设备,如果需要查看所有块设备,可以加-a参数。
- 分区数量和磁盘数量不要混淆,磁盘是物理存储设备,分区是磁盘上的逻辑划分区域。