Debian系统里跑久了,各种文件堆积起来,磁盘空间不知不觉就告急。除了常见的软件包缓存,剩下的那些临时文件、日志、用户缓存,甚至大文件,该怎么清理?这里整理了一套从基础到进阶的操作,覆盖绝大多数场景。

1. 手动删除指定文件/目录
最直接的办法,就是通过终端命令把不需要的文件或文件夹删掉。前提是你清楚知道哪些文件可以删:
- 删单个文件:
rm /path/to/file,比如rm ~/Downloads/old_video.mp4; - 递归删目录及其内容:
rm -r /path/to/directory,比如rm -r ~/old_documents; - 强制删除(不提示确认):
rm -rf /path/to/directory——这个要慎用,尤其别对着/etc、/bin这些系统目录下手,否则后果很严重。
2. 清理包管理器缓存
APT 包管理器下载的软件包(.deb 文件)默认缓存在 /var/cache/apt/archives/ 目录下,时间长了能占好几个G。两条命令就能搞定:
- 彻底清除所有缓存:
sudo apt clean; - 只删除旧版本缓存(保留最新):
sudo apt autoclean。
这两种操作都不会影响已安装的软件,但能释放不少磁盘空间。
3. 卸载不再使用的软件及依赖
安装过的软件,如果不再需要,可以连同配置文件一起清理:
- 只卸载软件包,保留配置文件:
sudo apt remove package_name(例如sudo apt remove vlc); - 彻底卸载,连配置文件都删掉:
sudo apt purge package_name; - 自动删除那些不再被任何软件需要、独自占空间的库文件:
sudo apt autoremove --purge。建议定期跑一下autoremove,防止残留无用的依赖把磁盘撑满。
4. 清理临时文件
系统临时文件通常存放在 /tmp/ 和 /var/tmp/ 两个目录。前者重启后一般会自动清理,后者则是长期临时文件,累积起来也很可观:
- 清空
/tmp/:sudo rm -rf /tmp/*; - 清空
/var/tmp/:sudo rm -rf /var/tmp/*(注意,如果程序正在使用这些临时文件,删掉可能会出问题,得先确认)。
有些系统会通过 tmpwatch 或 tmpreaper 工具定期自动清理,不过手动清理也很快。
5. 管理日志文件
日志文件(比如 /var/log/syslog、/var/log/auth.log)会随着时间增长越滚越大,不处理的话,几十个G也不是不可能。几种方法:
- 用
journalctl清理 systemd 日志:sudo journalctl --vacuum-time=7d(只保留最近7天)、sudo journalctl --vacuum-size=1G(把日志总大小限制在1GB以内); - 手动删除带编号的旧日志文件:
sudo rm /var/log/*.log.*(当前日志文件不带编号,不会被删); - 系统默认启用
logrotate工具,它会自动轮转日志,避免单个文件无限膨胀。如果发现日志异常增长,可以检查一下logrotate的配置。
6. 清理用户缓存
日常使用产生的缓存,比如浏览器缓存、应用程序的缩略图,通常放在 ~/.cache/ 目录下(例如 ~/.cache/thumbnails/、~/.mozilla/firefox/)。清理方式:
- 直接删除:
rm -rf ~/.cache/*(删除所有用户缓存,但要注意,有些程序可能会慢一点,重启后会自动重建必要的缓存); - 更稳妥的做法是用专用工具,比如 BleachBit:
sudo apt install bleachbit,打开后勾选对应的缓存项目,图形化操作,不容易误删。
7. 查找并删除大文件
有时候磁盘空间莫名其妙就没了,用 find 命令可以快速定位大文件,比如超过1GB的:
sudo find / -type f -size +1G -exec ls -lh {} ; 2>/dev/null
-type f:只找文件,不找目录;-size +1G:大于1GB;-exec ls -lh {} ;:显示文件详细信息(大小、路径、权限);2>/dev/null:忽略“权限不足”之类的报错(比如/proc目录无法访问)。
找到大文件后,确认是否还需要,再决定删不删,比如 rm /path/to/large_file.iso。
8. 安全删除敏感文件
如果文件涉及个人隐私或密码,直接删除仍然可能被恢复。需要彻底擦除数据,推荐以下工具:
- shred:覆盖文件内容后再删除,
sudo shred -u /path/to/sensitive_file(默认覆盖3次,可以加-n 5指定覆盖5次); - wipe:同样是多次覆盖,
sudo wipe /path/to/sensitive_file; - secure-delete:安装
sudo apt install secure-delete后,可使用ssdelete(删除文件)、srm(安全删除)等命令,递归删除目录用ssdelete -r /path/to/directory。
需要特别提醒:安全删除操作不可逆,执行前务必确认文件真的不再需要了。