ubuntu缓存清理需分类处理:apt缓存用sudo apt clean(彻底)或autoclean(安全),用户级缓存应按路径如~/.cache/thumbnails/*精准清理,旧内核和snap缓存是空间黑洞,内存缓存释放仅临时有效,盲目rm -rf ~/.cache或日志目录风险高。

直接说结论:Ubuntu缓存清理不是“一键全删”就完事,得按类型分清楚——APT包缓存、用户级缓存、系统日志、旧内核、Snap/Flatpak 这几类,处理方式和风险完全不同。
清理 apt 缓存:别误删正在用的安装包
APT 下载的 .deb 包默认存在 /var/cache/apt/archives/,长期积累可达几百 MB 甚至几 GB。但两种命令效果差别很大:
-
sudo apt clean:清空整个/var/cache/apt/archives/,包括当前还能重装的包——适合磁盘告急时快速腾空间,但之后重装软件要重新下载 -
sudo apt autoclean:只删那些已无法从源获取的旧版本包(比如你升级了firefox,旧版.deb就被删),保留可用缓存,更安全 - 顺手加一句:
sudo apt autoremove不是清理缓存,而是删掉自动安装、现在没程序依赖的包(比如某个软件卸载后留下的库),建议先加--dry-run看下会删啥:sudo apt autoremove --dry-run
清空用户级缓存:~/.cache 不能一股脑 rm -rf
~/.cache 里混着浏览器、IDE、缩略图、Flatpak 应用等缓存,全删可能让某些应用首次启动变慢,甚至出错。更稳妥的做法是按需清理:
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 缩略图缓存最安全:
rm -rf ~/.cache/thumbnails/*——删完不影响使用,下次打开图片自动重建 - Firefox 缓存路径较固定:
rm -rf ~/.cache/mozilla/firefox/*.default-release/cache/*(注意确认目录名是否含.default-release,可用ls ~/.cache/mozilla/firefox/先查) - 不建议直接
rm -rf ~/.cache/*:比如 VS Code 的扩展缓存、JetBrains 的索引文件删了会导致重启后卡顿或重建索引
释放内存缓存:drop_caches 是临时操作,不是“清内存”
看到 free -h 显示 “available” 很低,别急着执行 sync && echo 3 | sudo tee /proc/sys/vm/drop_caches:
- 这个命令只释放 pagecache、dentries 和 inodes,**不影响实际运行中的程序内存占用**,也不会让系统变快
- Linux 内核本就会在内存紧张时自动回收这部分缓存,手动触发只是“提前交卷”,几秒后又会被填满
- 真正内存吃紧要看
free -h的available列,如果持续低于 500MB,该查的是哪个进程占内存(htop或ps aux --sort=-%mem | head -10),而不是刷drop_caches
旧内核和 Snap 缓存:最容易被忽略的“空间黑洞”
/boot 分区只有几百 MB,但每次内核更新都会往里塞新镜像和模块,旧的不删迟早爆满;Snap 则默认把所有版本缓存都留在 /var/lib/snapd/cache/:
- 查当前内核:
uname -r;查已装内核:dpkg --list | grep 'linux-image-.*-generic' | awk '{print $2}' - 删旧内核(保留当前 + 最新一个备用):
sudo apt purge linux-image-5.15.0-XX-generic linux-modules-5.15.0-XX-generic(XX 替换为数字) - Snap 缓存清理:
sudo rm -rf /var/lib/snapd/cache/*——这个目录常驻数 GB,且不会自动清理 - 额外提醒:
flatpak uninstall --unused可删未使用的 Flatpak 运行时,比手动删~/.local/share/flatpak/runtime更安全
真正麻烦的不是命令记不住,而是搞不清哪些缓存删了要重建、哪些删了会影响功能、哪些根本不用动。比如 /var/log/journal 日志默认无限增长,但直接 rm -rf 可能破坏 journald 结构;又比如 /tmp 通常挂载为 tmpfs,重启即清,手动删反而多此一举。动手前先 df -h 定位瓶颈分区,再针对性处理,比盲目执行“清理脚本”靠谱得多。










