在 Linux 系统中清理磁盘空间,可以按从安全到深入的顺序来做。下面给你一套常用且实用的清理方案,涵盖命令、目录说明和注意事项。
df -h
查看哪个分区快满了。
再看目录占用情况:
du -h --max-depth=1 / | sort -hr
sudo apt clean
sudo apt autoclean
sudo apt autoremove
sudo yum clean all
# 或
sudo dnf clean all
sudo journalctl --vacuum-time=7d
保留最近 7 天日志(可改成 3d / 14d)
⚠️ 至少保留一个正在用的内核
uname -r # 查看当前内核
dpkg --list | grep linux-image
sudo apt remove linux-image-xxx
find / -xdev -type f -size +500M 2>/dev/null
find / -xdev -type f -size +1G 2>/dev/null
rm -rf ~/.cache/*
docker system df
docker system prune -a
⚠️ 会删除未使用的镜像、容器和卷
sudo rm -rf /tmp/*
常见位置:
/var/log
/var/cache
/var/tmp
查看:
du -sh /var/*
lsof +L1
如果看到大文件:
kill -9 PID
| 原因 | 解决 |
|---|---|
| Docker 镜像 | docker system prune |
| 日志文件 | journalctl / /var/log |
| 包缓存 | apt clean / yum clean |
| 被删除但未释放 | lsof +L1 |
| 快照(LVM / Btrfs) | 删除旧快照 |
#!/bin/bash
sudo apt clean
sudo apt autoremove -y
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/*
df -h 的结果给出精准清理方案你可以直接把下面命令的输出贴出来:
df -h
du -h --max-depth=1 / 2>/dev/null | sort -hr | head -20