在 Linux 系统中清理磁盘空间,可以按从安全到深入的顺序来做。下面给你一套实用、可操作的清理方案,适用于大多数发行版(Ubuntu / Debian / CentOS / Rocky / Alma / Arch 等)。
df -h
du -h --max-depth=1 / | sort -hr | head -20
或(更直观):
ncdu /
如果没有
ncdu:
apt install ncdu # Debian/Ubuntu
yum install ncdu # CentOS 7
dnf install ncdu # CentOS 8+/Rocky/Alma
sudo apt clean
sudo apt autoclean
sudo apt autoremove --purge
sudo yum clean all
# 或
sudo dnf clean all
sudo pacman -Sc
sudo pacman -Rns $(pacman -Qtdq)
journalctl --disk-usage
sudo journalctl --vacuum-time=3d
sudo journalctl --vacuum-size=200M
sudo rm -rf /tmp/*
⚠️ 不要删除 /tmp 目录本身
rm -rf ~/.cache/*
docker system df
docker system prune -a
若只想清理镜像:
docker image prune -a
find / -xdev -type f -size +500M 2>/dev/null
find / -xdev -type f -size +1G 2>/dev/null
⚠️ 删除前务必确认用途
dpkg --list | grep linux-image
保留当前内核,删除旧版本:
sudo apt purge linux-image-xxx
sudo snap list --all
删除旧版本:
sudo snap remove --purge 包名
或一键清理脚本(推荐):
set -eu
LANG=C snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
sudo snap remove "$snapname" --revision="$revision"
done
lsof +L1
重启相关服务即可释放空间:
sudo systemctl restart 服务名
| 目录 | 说明 |
|---|---|
/var/log |
日志 |
/var/cache |
缓存 |
/var/lib/docker |
Docker |
/usr/src |
内核源码 |
/home |
用户数据 |
#!/bin/bash
sudo apt clean
sudo apt autoremove -y
sudo journalctl --vacuum-time=7d
rm -rf ~/.cache/*
sudo rm -rf /tmp/*
你可以直接贴:
df -h
du -h --max-depth=1 / | sort -hr | head -20