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/*