Ubuntu清理垃圾

引言:从 Windows 的”一键清理”到 Linux 的命令行哲学
在使用 Ubuntu 的日子里,我发现了一个有趣的现象。习惯了 Windows 的用户第一次接触 Linux 时,往往会问同一个问题:”Ubuntu 有没有类似 360 或者 CCleaner 那样的垃圾清理软件?”
答案是:没有。但这恰恰是 Linux 的魅力所在。
Windows 生态中充斥着各种第三方清理工具,它们界面华丽、功能繁多,但本质上是因为 Windows 的系统机制留下了太多需要清理的”尾巴” —— 注册表冗余、临时文件堆积、卸载残留等等。而 Linux 的包管理机制从设计之初就考虑到了这些问题,所有的安装、卸载、缓存都有迹可循。我们不需要一个花哨的”一键清理”按钮,只需要几条简洁的命令,就能把系统打理得干干净净。
这篇笔记整理了我在日常使用 Ubuntu 过程中积累的垃圾清理经验和命令技巧。虽然这些内容写于 2013 年,但其中的核心思路至今仍然适用。
一、APT 包管理器缓存清理(最常用)
APT(Advanced Package Tool)是 Ubuntu 的包管理核心。每次安装、更新软件时,APT 都会下载对应的 .deb 包文件并缓存到本地。时间久了,这些缓存文件会占用大量磁盘空间。
三条核心清理命令
1 | # 1. 清理旧版本的软件缓存 |
autoclean 会删除那些已经无法下载的旧版本 .deb 包文件。比如某个软件已经更新到了 2.0 版本,那么 1.0 版本的缓存包就会被清理掉,而当前版本的缓存会保留。这是最安全的清理方式。
1 | # 2. 清理所有软件缓存 |
clean 更加彻底,它会删除 /var/cache/apt/archives/ 目录下的所有 .deb 包缓存文件。这意味着如果你之后需要重新安装某个软件,APT 需要重新从网上下载。建议在磁盘空间紧张时使用。
1 | # 3. 删除不再需要的孤立软件包 |
autoremove 会删除那些作为依赖被安装、但现在已不再被任何软件包需要的包。比如你安装了一个软件 A,A 依赖 B 和 C。后来你卸载了 A,那么 B 和 C 就变成了”孤立软件包”,autoremove 会自动清理它们。
组合使用推荐
在日常维护中,我推荐将三条命令组合使用:
1 | sudo apt-get autoclean && sudo apt-get autoremove |
这样既清理了过期的缓存,又删除了无用的依赖包,一举两得。

二、浏览器缓存清理
浏览器是日常使用中产生缓存最多的应用之一。Opera 和 Firefox(当时的主流浏览器)的缓存文件都存储在用户主目录下。
Opera 缓存
1 | ls ~/.opera/cache4 |
查看 Opera 浏览器的缓存文件目录。如果需要清理,可以直接删除该目录下的内容:
1 | rm -rf ~/.opera/cache4/* |
Firefox 缓存
1 | ls ~/.mozilla/firefox/*.default/Cache |
Firefox 的缓存位于用户配置文件目录下的 Cache 文件夹中。*.default 代表默认配置文件的目录名(通常是一串随机字符)。
1 | rm -rf ~/.mozilla/firefox/*.default/Cache/* |
注意:这些命令只清理缓存文件,不会影响书签、密码、历史记录等重要数据。
三、清理多余的内核(释放大量空间)
Ubuntu 每次更新内核时,旧版本的内核并不会被自动删除。久而久之,这些旧内核会占用数百 MB 的磁盘空间。对于 /boot 分区来说,这是一个需要特别关注的问题。
第一步:查看当前安装的内核
1 | dpkg --get-selections | grep linux |
这条命令会列出所有与 linux 相关的包。其中带有 image 关键字的就是内核文件。例如:
1 | linux-image-2.6.27-2-generic install |
第二步:确认当前正在使用的内核
这一步至关重要!千万不要删错!
1 | uname -r |
这条命令会显示当前系统正在使用的内核版本,比如 2.6.27-11-generic。绝对不能删除当前正在使用的内核,否则系统将无法启动。
第三步:删除旧内核
1 | sudo apt-get remove linux-image-2.6.27-2-generic |
每删除一个内核,大约可以释放 130-140 MB 的磁盘空间。如果你有多个旧内核,加起来就是可观的空间。
安全操作建议
强烈建议:只保留当前使用的内核和一个旧版本作为备用,删除其余所有旧内核。
1 | # 查看当前内核 |
使用 purge 而非 remove,可以同时删除配置文件,释放更多空间。

四、安装包临时文件清理
APT 在下载软件包时会先将文件存储在临时目录中。这些文件在安装完成后有时不会被自动清理。
包缓存目录
1 | /var/cache/apt/archives |
这是已经下载完成的 .deb 包缓存目录。使用 apt-get clean 可以清理此目录。
未完成的下载
1 | /var/cache/apt/archives/partial |
这个目录存放的是尚未下载完成的临时文件。如果之前有中断的下载任务,这里的文件可能是残留的。
1 | # 清理未完成的下载 |
五、额外的清理技巧(进阶)
除了上述基本操作,还有一些进阶的清理方法可以帮助你的 Ubuntu 系统保持最佳状态。
5.1 清理缩略图缓存
Ubuntu 会为浏览过的图片生成缩略图缓存,日积月累也会占用不少空间:
1 | rm -rf ~/.cache/thumbnails/* |
5.2 清理应用日志
系统日志和应用日志会随着时间不断增长:
1 | # 查看日志占用空间 |
5.3 清理用户缓存
各个应用程序都会在 ~/.cache 目录下存储缓存文件:
1 | # 查看缓存占用情况 |
5.4 一键清理脚本
将常用的清理命令整合为一个脚本,方便定期执行:
1 |
|
将此脚本保存为 cleanup.sh,赋予执行权限后定期运行:
1 | chmod +x cleanup.sh |
六、磁盘空间检查与监控
在清理垃圾之前和之后,建议检查一下磁盘空间的变化,直观地感受清理的效果:
1 | # 查看各分区的使用情况 |
| 命令 | 用途 | 输出示例 |
|---|---|---|
df -h |
查看磁盘分区使用情况 | /dev/sda1 50G 30G 20G 60% / |
du -sh /* |
查看根目录下各目录大小 | 4.2G /usr |
ncdu |
交互式磁盘使用分析器(需安装) | 图形化目录大小浏览 |
总结:Linux 清理的哲学
回看这篇写于 2013 年的笔记,我对 Linux 系统维护的理解已经发生了很大的变化。当时我以为清理垃圾就是执行几条命令,释放一些空间。但如今我更加深刻地认识到:Linux 的垃圾清理不是”治病”,而是”养生”。
Windows 的清理工具更像是在”治病” —— 系统已经积累了大量问题,需要用强力手段去修复。而 Linux 的清理更像是在”养生” —— 通过日常的小维护,让系统始终保持在健康的状态。
几条简单的命令,不需要华丽的界面,不需要复杂的配置。这就是 Linux 的哲学:简单、透明、可控。 你知道每一条命令在做什么,你知道删除的是什么,你知道系统为什么变快了。这种掌控感,是任何”一键清理”工具都无法给予的。
这篇笔记记录于 2013 年 9 月,是我在 Ubuntu 上积累的系统维护经验。如今回首,那些敲下的命令已经内化成了肌肉记忆。技术的成长不在于学会了多少新工具,而在于理解了系统运作的本质。当你能用几条命令解决别人需要一个软件才能搞定的问题时,你就真正理解了什么是”简洁的力量”。








