在 Linux 上做系统清理(cleanup),通常分几个层次:日常清理、释放磁盘空间、系统优化。下面给你一套通用、安全、实战常用的做法,适合大多数发行版(Ubuntu/Debian/CentOS/RHEL/Arch 等)。
千万不要一上来就瞎删。
df -h
du -h --max-depth=1 / | sort -hr | head -20
常用路径:
/var/home/usr/tmpsudo apt clean # 删除所有缓存 deb 包
sudo apt autoclean # 只删过期缓存
sudo apt autoremove # 删除无用依赖
sudo yum clean all
# 或
sudo dnf clean all
sudo pacman -Sc
sudo pacman -Scc # 更彻底(谨慎)
查看大小:
journalctl --disk-usage
保留最近 3 天:
sudo journalctl --vacuum-time=3d
限制大小:
sudo journalctl --vacuum-size=500M
sudo rm -rf /var/log/*.old
sudo rm -rf /var/log/*.gz
⚠️ 不建议直接删 /var/log,只删旧的。
sudo rm -rf /tmp/*
rm -rf ~/.cache/*
如果你是开发者,Docker 往往是罪魁祸首。
docker system df
docker system prune
docker system prune -a --volumes
查看当前内核:
uname -r
查看已安装内核:
dpkg --list | grep linux-image
删除旧内核(保留当前):
sudo apt remove --purge linux-image-xxx
或使用:
sudo apt autoremove
find / -type f -size +500M 2>/dev/null
常见“垃圾大户”:
Snap 会保留旧版本:
sudo snap list --all
删除旧版本:
snap list --all | awk '/disabled/ {print $1, $3}' | xargs -r sudo snap remove
✅ 可以删:
/var/cache/*~/.cache/*/tmp/*❌ 不建议删:
/usr/lib/binsudo apt install bleachbit
⚠️ 高级选项要小心。
sudo nano /etc/systemd/journald.conf
设置:
SystemMaxUse=500M
df -h
docker system prune
sudo apt clean && sudo apt autoremove
journalctl --vacuum-size=500M
du -h --max-depth=1 / | sort -hr
如果你愿意,可以告诉我:
我可以帮你定制一条最合适的 cleanup 命令组合,甚至写成脚本。