在 CentOS 上清理“大文件”通常分 查找大文件 → 判断是否可以删除 → 安全清理 三步。下面给你一套常用、安全的做法,从简单到进阶。
find / -type f -size +500M 2>/dev/null
常见参数说明:
/:从根目录搜索(可换成 /var、/home 等)+500M:大于 500MB2>/dev/null:忽略权限错误du -ah / | sort -rh | head -20
常见目录建议优先查:
du -ah /var | sort -rh | head -20
du -ah /home | sort -rh | head -20
ls -lh /var/log/
常见大文件:
/var/log/messages/var/log/secure/var/log/maillog/var/log/nginx//var/log/httpd/✅ 安全清理方式(不要直接 rm)
truncate -s 0 /var/log/messages
或:
echo > /var/log/messages
journalctl --disk-usage
清理:
journalctl --vacuum-time=7d
或:
journalctl --vacuum-size=500M
docker system df
清理:
docker system prune -a
⚠️ 会删除未使用的容器、镜像、网络
有时 rm 了文件,但空间没释放:
lsof | grep deleted
找到占用进程后:
kill -9 PID
或重启相关服务。
yum clean all
rpm -qa | grep kernel
保留当前内核,删除旧版本(不建议新手操作)
✅ 推荐方式:
rm -f 文件名
⚠️ 不要直接 rm -rf / 或 rm -rf /*
#!/bin/bash
echo "Top 20 大文件:"
du -ah / 2>/dev/null | sort -rh | head -20
du 找出大目录ls -lh 看具体文件truncate 或 rm 清理lsof | grep deleted如果你愿意,可以告诉我:
df -h)我可以直接帮你制定清理方案,避免误删。