在 CentOS 上安全清理磁盘,建议按「先分析 → 再清理 → 最后确认」的顺序来,避免误删系统或业务数据。下面给你一套常用且安全的做法,适用于 CentOS 7 / 8 / Stream。
df -h
du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20
常见“重灾区”:
/var/log/var/cache/tmp/home/var/lib/docker(如果用 Docker)journalctl --disk-usage
journalctl --vacuum-time=7d
或限制大小:
journalctl --vacuum-size=500M
/var/log✅ 安全做法:清空而不是删除
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure
truncate -s 0 /var/log/cron
⚠️ 不要直接 rm 日志文件,否则正在运行的程序可能写不进日志。
yum clean all
dnf clean all
缓存位置:
/var/cache/yum
/var/cache/dnf
rm -rf /tmp/*
rm -rf /var/tmp/*
⚠️ 注意:
/tmp 目录本身uname -r
rpm -qa | grep kernel
package-cleanup --oldkernels --count=2
✅ 建议 至少保留 1~2 个旧内核
docker system df
docker system prune -f
⚠️ 会删除:
find / -xdev -type f -size +500M 2>/dev/null
常见可清理:
# 清理日志 + 缓存 + 临时文件
truncate -s 0 /var/log/messages /var/log/secure /var/log/cron
yum clean all
rm -rf /tmp/*
✅ 不动系统结构
✅ 不影响服务运行
❌ rm -rf /
❌ rm -rf /var/log/*
❌ 删除 /usr、/lib、/lib64
❌ 删除正在运行的程序目录
你可以直接贴出:
df -h
du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20
我可以 精确告诉你该删哪里、删多少、是否安全 ✅