在 Linux 中清理大文件,通常分 查找大文件 → 确认是否可删 → 安全删除 三步。下面按常见场景给你一套实用方法。
du -ah /path/to/dir | sort -rh | head -20
示例:
du -ah /var | sort -rh | head -20
find 查找超过指定大小的文件查找 大于 500MB 的文件:
find / -type f -size +500M 2>/dev/null
查找 大于 1GB 的文件:
find / -type f -size +1G 2>/dev/null
只显示文件大小:
find / -type f -size +500M -exec ls -lh {} \; 2>/dev/null
du -h --max-depth=1 / | sort -hr
/var/log/var/cache/var/lib/docker/var/lib/mysql/tmp✅ 不要直接删:
不删除文件,只清空内容(适合日志)
truncate -s 0 filename
或
> filename
示例:
> /var/log/syslog
rm -f filename
删除前确认:
ls -lh filename
journalctl --vacuum-size=500M
或
journalctl --vacuum-time=7d
docker system df
docker system prune -a
删除 30 天未访问、大于 1G 的文件(⚠️ 风险高):
find / -type f -size +1G -atime +30 -delete
建议先查看:
find / -type f -size +1G -atime +30
df -h 看哪个分区满了du -h --max-depth=1 / 定位目录find 找大文件如果你愿意,可以把下面信息发我,我可以帮你精确分析:
df -h 输出我可以一步步带你清理 ✅