在 Linux 下进行磁盘清理,通常可以按**“先看占用 → 再清安全项 → 最后处理大文件/旧数据”**的思路来做。下面给你一套实用方法(适用于 CentOS / Ubuntu / Debian 等常见发行版)。
df -h
重点关注 /(根分区)是否接近 100%。
du -h --max-depth=1 /
或更有用的:
du -h --max-depth=1 /var /home /tmp
ncdu /
(如未安装:yum install ncdu 或 apt install ncdu)
CentOS / RHEL
yum clean all
# 或
dnf clean all
Ubuntu / Debian
apt-get clean
apt-get autoclean
# Ubuntu / Debian
apt-get autoremove
# CentOS
package-cleanup --leaves
du -sh /var/log/*
# 只保留最近 7 天
find /var/log -type f -name "*.log" -mtime +7 -delete
journalctl --disk-usage
journalctl --vacuum-time=7d
rm -rf /tmp/*
rm -rf /var/tmp/*
⚠️ 不要在系统运行时删 /tmp 中正在使用的文件(一般重启后清最安全)
docker system df
docker system prune -a
⚠️ 会删除未使用的镜像、容器、网络(确认无误再执行)
find / -type f -size +100M -exec ls -lh {} \;
/var/log/home/*/Downloads.bak, .tar.gz)find / -name "core" -type f
有时 df 显示满,但 du 不大:
lsof | grep deleted
重启对应进程即可释放空间。
df -hncdu /如果你愿意,可以告诉我:
df -h 的输出截图或结果我可以帮你针对性给出清理命令,避免误删。