在Linux系统中查询硬盘数量可以通过多个内置命令实现,不同命令的输出信息各有侧重,用户可以根据实际需求选择合适的工具。

常用查询命令介绍
1. lsblk命令
lsblk是列出块设备信息的常用命令,默认会以树形结构展示所有块设备,包括硬盘、分区、 loop 设备等,输出清晰直观,适合快速查看硬盘数量。
基础用法直接执行命令即可:
# 列出所有块设备,默认树形展示 lsblk # 只显示硬盘设备,过滤掉分区和loop设备 lsblk -d -o NAME,SIZE,TYPE,MOUNTPOINT
输出结果中TYPE为disk的就是物理硬盘,数出对应行数即可得到硬盘数量。比如输出如下时,说明有2块硬盘:
NAME SIZE TYPE MOUNTPOINT sda 100G disk sdb 200G disk
2. fdisk命令
fdisk是磁盘分区管理工具,也可以用来查看硬盘列表,执行以下命令可以列出系统中所有的硬盘设备:
# 列出所有存储设备 sudo fdisk -l
输出内容中,以Disk开头的行就是硬盘信息,比如Disk /dev/sda: 100 GiB就代表一块100G的硬盘/dev/sda,统计这类行的数量即可得到硬盘总数。注意该命令需要sudo权限才能完整显示所有设备信息。
3. df命令
df命令主要用于查看文件系统的磁盘空间使用情况,加上特定参数也可以辅助判断硬盘数量,不过它会过滤掉未挂载的硬盘:
# 以人类可读的格式显示文件系统信息 df -h
输出中Filesystem列的设备名如果对应不同的硬盘,就可以统计数量,但如果硬盘没有挂载分区,该命令不会显示,因此适合查看已挂载硬盘的数量。
4. 查看/proc/partitions文件
Linux系统的/proc目录下存储了内核的实时信息,partitions文件记录了所有块设备的信息,也可以用来查询硬盘:
# 查看块设备分区信息 cat /proc/partitions
该文件中,设备号主设备号为8的是SCSI硬盘,主设备号为3的是IDE硬盘,统计对应主设备号下没有分区后缀的设备行,即可得到硬盘数量。
不同场景的选择建议
- 如果需要快速查看所有硬盘(包括未挂载的),优先使用
lsblk -d命令,输出简洁明了。 - 如果需要同时查看硬盘的分区信息和容量详情,可以使用
sudo fdisk -l命令。 - 如果只需要确认已挂载的硬盘数量,使用
df -h命令即可满足需求。
注意事项
部分命令需要root权限才能完整显示所有硬盘信息,执行时如果提示权限不足,记得在命令前加上sudo。另外,云服务器可能会存在虚拟硬盘,上述命令同样可以正常识别,虚拟硬盘也会被计入硬盘总数中。