在 CentOS(7/8/Stream 等) 系统中,清理文件主要目的是 释放磁盘空间、保持系统整洁、避免日志或缓存占满磁盘。下面按类别给你一份实用清理清单,建议按需操作,不要盲目全删。
journalctl --disk-usage
sudo journalctl --vacuum-time=7d # 保留最近7天
sudo journalctl --vacuum-size=500M # 限制最大500M
常见可清理目录:
/var/log/messages
/var/log/secure
/var/log/cron
/var/log/maillog
/var/log/spooler
✅ 建议方式(不要直接 rm):
sudo truncate -s 0 /var/log/messages
sudo truncate -s 0 /var/log/secure
或:
sudo rm -f /var/log/*.log-*
sudo yum clean all
sudo dnf clean all
缓存位置:
/var/cache/yum
/var/cache/dnf
sudo rm -rf /tmp/*
⚠️ 注意:不要删正在使用的 socket 或 pid 文件。
sudo rm -rf /var/tmp/*
CentOS 升级后会保留多个内核,容易占空间。
uname -r
sudo package-cleanup --oldkernels --count=1
sudo dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)
docker system df
docker system prune -a
⚠️ 会删除未使用的容器和镜像,生产环境慎用。
rm -rf ~/.cache/*
sudo rm -rf /root/.cache/*
find / -name "core.*" 2>/dev/null
sudo rm -f /path/to/core.*
find / -xdev -type f -size +500M 2>/dev/null
df -h
du -sh /* 2>/dev/null
| 目录 | 原因 |
|---|---|
| /bin /sbin /lib | 系统核心 |
| /proc /sys /dev | 虚拟文件系统 |
| /var/lib/mysql | 数据库数据 |
| /home | 用户数据 |
你可以把下面命令的输出发给我,我可以 帮你精确判断该删什么:
df -h
du -sh /var/log /tmp /var/cache
journalctl --disk-usage
需要我给你一份 一键清理脚本 也可以。