帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux磁盘空间管理:df与du命令详解

Linux磁盘空间管理:df与du命令详解

2025-12-11 17:36:44 265

欢迎来到8455线路检测中心技术小课堂,每天分享一个技术小知识。


在Linux服务器运维和云计算环境中,磁盘空间管理是日常系统监控的关键任务。当磁盘空间不足时,服务运行、日志记录和系统更新都可能受到影响。本文将详细介绍两个核心工具:dfdu命令,帮助您快速掌握磁盘使用情况分析和空间清理技巧。

df命令:查看磁盘整体使用情况

df(disk free)命令用于显示文件系统的磁盘空间使用情况,包括总容量、已用空间、可用空间和挂载点等信息。

基本用法

df

默认以KB为单位显示所有已挂载文件系统的使用情况。

常用选项

  • -h:以人类可读格式显示(自动转换单位)

    df -h

    输出示例:

    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        20G   15G  3.8G  80% /
    /dev/sdb1        50G   12G   36G  24% /data
  • -T:显示文件系统类型

    df -hT
  • -i:显示inode使用情况而非块使用

    df -i

    当磁盘空间充足但文件数量过多时,inode耗尽会导致无法创建新文件。

实际应用

查找使用率超过90%的分区:

df -h | awk '$5 >= 90'

这可以帮助您快速定位空间紧张的文件系统。

du命令:查看目录和文件的磁盘使用情况

du(disk usage)命令用于估算文件和目录的磁盘使用量,是查找大文件和目录的利器。

基本用法

du [选项] [文件或目录]

如果不指定路径,则显示当前目录的使用情况。

常用选项

  • -h:人类可读格式

    du -h /var/log
  • -s:仅显示总计,不显示子目录详情

    du -sh /home
  • -a:显示所有文件和目录的大小

  • -c:在最后显示总计

  • --max-depth:指定深入目录的层级

    du -h --max-depth=1 /usr

3. 组合使用排查磁盘空间问题

结合dfdu命令,可以高效定位磁盘空间问题的根源。

场景1:根分区空间不足

# 1. 查看哪个分区空间紧张
df -h

# 2. 假设根分区使用率95%,查找占用空间大的目录
du -sh /* 2>/dev/null | sort -rh | head -10

这会显示根目录下最大的10个目录,忽略权限错误信息。

场景2:查找特定目录中的大文件

# 在/var目录中查找大于100MB的文件
find /var -type f -size +100M -exec du -h {} + 2>/dev/null | sort -rh

场景3:清理日志文件

日志文件是常见的磁盘空间占用者:

# 查看/var/log目录大小
du -sh /var/log

# 清理超过7天的日志文件
find /var/log -name "*.log" -type f -mtime +7 -exec rm -f {} \\;

注意:生产环境中建议使用日志轮转工具(如logrotate)而非直接删除。

4. 实用技巧和注意事项

技巧1:快速找到最大目录

du -h --max-depth=1 2>/dev/null | sort -rh | head -20

技巧2:排除特定目录

du -h --exclude="node_modules" --exclude=".git" 2>/dev/null | sort -rh | head -10

技巧3:监控目录大小变化

# 将目录大小记录到文件
du -sh /path/to/monitor > /tmp/dir_size_$(date +%Y%m%d).txt

注意事项

  1. 权限问题:使用du命令时,如果没有读取权限,会显示错误信息。可以使用2>/dev/null重定向错误输出。

  2. 符号链接du默认不追踪符号链接,使用-L选项可解析符号链接。

  3. 挂载点du会统计所有挂载在指定目录下的文件系统,而df显示每个文件系统的独立使用情况。

  4. 稀疏文件:某些文件(如虚拟磁盘文件)可能显示大小与实际占用空间不同,使用du --apparent-size查看表观大小。

掌握dfdu命令是Linux系统管理的基础技能。df提供文件系统级别的概览,帮助快速发现空间紧张的分区;du则用于深入分析目录和文件的具体占用情况。结合使用这两个工具,配合findsort等命令,可以高效定位磁盘空间问题。建议将磁盘空间监控纳入日常运维流程,定期检查关键分区,设置合理的清理策略,确保云计算环境的稳定运行。


8455线路检测中心官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,8455线路检测中心整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,8455线路检测中心期待与你一起探索。



提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:
XML 地图