在服务器管理和维护过程中,实时监控磁盘空间是确保系统稳定运行的重要任务。df
命令是 Linux/Unix 系统中用于查看文件系统磁盘使用情况的工具,以下将详细说明如何通过 df
命令从服务器检索磁盘信息,并解释相关操作的实际应用。
ssh username@server_ip
执行 df
命令
输入以下基础命令查看磁盘信息:
df
输出示例:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 20970496 8437240 11533256 43% /
tmpfs 819200 0 819200 0% /dev/shm
解读输出结果
- Filesystem:磁盘分区或存储设备名称。
- 1K-blocks:总容量(单位为1KB的块)。
- Used/Available:已用和剩余空间。
- Use%:使用百分比。
- Mounted on:挂载路径。
常用参数与进阶操作
为满足不同场景需求,df
提供多种参数:
以易读格式显示(-h)
df -h
输出结果自动转换为 GB/MB 单位,更直观:
df -Th
添加文件系统类型(如 ext4、xfs)和挂载点信息:
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext4 20G 8.1G 11G 43% /
查看特定目录的磁盘空间
df -h /var/log
仅显示 /var/log
目录所在分区的使用情况。
排除临时文件系统(–exclude-type)
df -h --exclude-type=tmpfs
过滤掉 tmpfs
等临时文件系统的信息。
统计所有文件系统的汇总(–total)
df -h --total
在输出末尾添加总计行,便于全局分析。
应用场景示例
场景1:监测关键分区
假设需要监控根目录()的使用情况,可结合 grep
筛选:
df -h | grep '/$'
输出仅显示根分区的数据,适用于自动化脚本中的阈值告警。
场景2:定时任务与日志记录
通过 cron
定期运行 df
并记录结果:
# 编辑 cron 任务
crontab -e
# 添加以下行(每天凌晨1点执行)
0 1 * * * df -h >> /var/log/disk_usage.log
注意事项
-
权限问题
普通用户可能需要sudo
权限查看某些挂载点信息。 -
文件系统状态
若文件系统异常(如未挂载或损坏),df
可能无法显示数据,需结合mount
命令检查。 -
与
du
命令的区别df
统计的是文件系统级别的空间,而du
统计目录或文件的实际占用空间,两者结果可能因未释放的已删除文件存在差异。
df
是服务器磁盘管理的核心工具之一,通过灵活的参数组合,管理员可以高效监控存储资源,建议定期检查关键分区的使用率,并设置告警机制(如使用 df -h
结合监控工具),以避免磁盘满载导致的业务中断。
引用说明
- GNU Coreutils 手册:https://www.gnu.org/software/coreutils/manual/
- Linux man 页面(
man df
) - Stack Overflow 相关技术讨论:https://stackoverflow.com/questions/tagged/df