Ubuntu 磁盘清理全攻略
Ubuntu 磁盘清理全攻略(开发者必备)
在使用 Ubuntu(尤其是 Docker + 前端开发环境)时,经常会遇到:
- 磁盘突然爆满
- 系统变卡或服务异常
- Docker 构建或运行失败
本文提供一套从定位 → 清理 → 预防的完整流程。
第一步:定位磁盘占用(关键)
查看整体磁盘使用情况:
df -h
重点关注:
//var
如果接近 100%,需要立即清理。
查找大目录
sudo du -h --max-depth=1 / | sort -hr | head -20
重点关注:
/var/home/usr/opt
优先处理占用最大的目录。
第二步:APT 缓存清理(安全)
sudo apt clean
sudo apt autoremove -y
作用:
- 清理安装包缓存
- 删除无用依赖
建议定期执行。
第三步:Docker 清理(重点)
开发环境中,Docker 通常是主要占用来源。
查看占用
docker system df
清理未使用资源
docker system prune -a
会删除:
- 停止的容器
- 未使用镜像
- 网络
- 构建缓存
更彻底清理(慎用)
docker system prune -a --volumes
注意:会删除数据卷(数据库可能丢失)。
第四步:系统日志清理
日志长期积累会占用大量空间。
按时间清理
sudo journalctl --vacuum-time=3d
按大小限制
sudo journalctl --vacuum-size=200M
第五步:/var/log 清理
查看日志占用:
sudo du -sh /var/log/*
清空日志内容:
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/kern.log
说明:不会删除文件,仅清空内容。
第六步:Snap 清理
查看已安装版本:
snap list --all
删除旧版本:
sudo snap remove--revision=
限制保留数量:
sudo snap set system refresh.retain=2
第七步:用户缓存清理
rm -rf ~/.cache/*
常见来源:
- 浏览器缓存
- npm / pip
- IDE
第八步:查找大文件
sudo find / -type f -size +500M
用于定位超过 500MB 的文件。
常见占用来源
| 路径 | 说明 |
|---|---|
/var/lib/docker |
Docker 镜像和容器 |
/var/log |
日志文件 |
/home |
下载文件 |
/tmp |
临时文件 |
.next / node_modules |
前端构建文件 |
一键清理脚本
sudo apt clean && sudo apt autoremove -y
docker system prune -a -f
sudo journalctl --vacuum-time=3d
rm -rf ~/.cache/*