先分析磁盘使用情况再清理,使用df、du定位大文件,清理APT/DNF缓存、系统日志、临时文件,处理Docker残留和重复文件可有效释放空间。

磁盘空间不足是Linux系统运维的常见问题,解决的关键在于精准定位大文件和可清理的缓存,并使用合适的工具。核心思路是先分析、再动手,避免误删重要数据。
检查磁盘与目录使用情况
在清理前,必须清楚地知道空间被谁占用了。这是安全操作的前提。
- df -h:查看整个系统的磁盘分区使用概况,找出哪个挂载点(如 /, /home)快满了。-h 参数让输出以G、M等易读单位显示。
- du -sh /*:查看根目录下每个一级子目录的总大小,快速定位占用空间最大的目录。
- du -sh /var/* | sort -rh | head -n 10:结合排序和管道,列出 /var 目录下占用空间最大的前10个文件或文件夹,/var 是日志和缓存的常见存放地。
- find / -type f -size +500M -exec ls -lh {} \;:查找系统中大于500M的所有文件,方便你审查是否可以删除。
清理各类缓存和临时文件
系统运行会产生大量可安全清理的临时数据,这是最常规的释放空间手段。
-
清理包管理器缓存:
- Debian/Ubuntu (APT): 执行 sudo apt clean 删除所有已下载的.deb包缓存;sudo apt autoremove 移除不再需要的依赖包。
- RHEL/CentOS/Fedora (DNF/YUM): 执行 sudo dnf clean all 或 sudo yum clean all 来清理缓存。
-
清理系统日志:
- 对于使用
systemd的系统,journalctl --vacuum-size=200M 可将日志体积限制在200MB以内。 - 手动清理
/var/log/目录下的旧日志,如 sudo find /var/log -name "*.log.*" -delete 删除轮转后的压缩日志。
- 对于使用
- 清除临时文件:清空系统和用户的临时目录,sudo rm -rf /tmp/* /var/tmp/* 和 rm -rf ~/.cache/*。
处理Docker和重复文件
如果你使用容器或长时间未整理文件,这两个方面能释放可观的空间。
- Docker资源清理:Docker会积累大量无用的镜像、容器和卷。运行 docker system prune -a 可以一键清理所有未被使用的对象,效果显著,但会移除所有未运行的容器和未被引用的镜像,请谨慎操作。
-
查找并删除重复文件:同一个文件可能有多个副本,浪费空间。
- 命令行工具 fdupes 非常高效。安装后,用 fdupes -r ~/Documents 递归扫描指定目录的重复项,它会列出结果,由你决定删除哪些。
- 图形化工具 fslint 提供了更直观的界面来查找和删除重复文件、空目录等。
基本上就这些。养成定期用 df 和 du 检查的习惯,及时清理,就能有效避免磁盘突然爆满的窘境。










