在linux系统中,获取硬盘大小是一项非常基础且常见的操作。无论是查看整块物理磁盘的容量,还是了解某个挂载分区的已用和可用空间,系统都提供了成熟的命令与编程接口。下面介绍几种实用方法。

使用df命令查看分区大小
df是最常用的查看文件系统磁盘空间占用的命令。加上-h参数可以以人类易读的单位显示。
# 查看所有挂载点的硬盘使用情况 df -h # 只看根分区 df -h /
输出中Size为总大小,Used为已用,Avail为可用,Use%为使用率。
使用lsblk查看块设备容量
lsblk能列出所有块设备及其大小,适合看整块硬盘而非分区文件系统。
# 以可读方式列出设备树和大小 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
在Shell脚本中获取大小
如果要在脚本里提取数值,可以配合awk使用。
# 获取根分区总大小(人类可读)
total=$(df -h / | awk 'NR==2 {print $2}')
echo "根分区总大小: $total"
使用Python编程获取
python的os模块提供了statvfs,可以编程获取硬盘信息,不依赖外部命令解析。
import os
# 获取根分区信息
st = os.statvfs('/')
# 每块大小
block_size = st.f_frsize
# 总字节数
total_bytes = st.f_blocks * block_size
# 可用字节数
free_bytes = st.f_bavail * block_size
print("总大小(GB):", round(total_bytes / (1024**3), 2))
print("可用大小(GB):", round(free_bytes / (1024**3), 2))
对比总结
| 方法 | 适用场景 | 特点 |
|---|---|---|
| df -h | 快速查看分区空间 | 简单直观,系统自带 |
| lsblk | 查看物理磁盘与分区 | 显示设备树结构 |
| Python os.statvfs | 程序内获取 | 无需解析命令输出 |
综上,linux不仅可以获取硬盘大小,而且方式非常灵活。日常排查用df和lsblk即可,自动化任务则推荐在脚本或程序里调用相关接口。
linuxdisk_sizedf_command修改时间:2026-07-25 16:06:26