Ubuntu彻底清理磁盘空间的完整步骤
APT(Advanced Package Tool)会缓存所有下载的.deb安装包,这些缓存长期积累可能占用大量空间(尤其是频繁安装/更新软件时)。
sudo apt clean —— 删除/var/cache/apt/archives目录下的所有.deb文件(仅保留锁定文件),释放空间最明显。sudo apt autoclean —— 删除无法从软件仓库重新下载的旧版本包(保留当前可用版本),适合保留最新缓存但不想占用过多空间的场景。sudo apt autoremove --purge —— 删除自动安装但不再需要的依赖包(如卸载软件后残留的库文件),--purge参数会同时删除关联的配置文件,确保系统干净。Ubuntu更新内核后会保留旧版本(位于/boot分区),占用大量空间且无需保留多个版本。
dpkg --list | grep linux-image —— 列出所有已安装的内核包(排除当前正在使用的版本,可通过uname -r查看)。sudo apt purge linux-image-x.x.x-x-generic —— 替换x.x.x-x为旧内核版本号(保留当前和最新备用内核,建议至少保留2个)。sudo update-grub —— 更新引导加载器,确保系统从保留的内核启动。系统日志(位于/var/log目录)会随时间积累大量历史记录(如syslog、auth.log),占用大量空间。
sudo journalctl --vacuum-size=100M —— 将日志总大小限制为100MB(保留最新日志),适合控制日志文件大小。sudo journalctl --vacuum-time=7d —— 删除7天前的日志记录(保留最近7天的日志),适合按时间清理。sudo rm -rf /var/log/*.gz —— 删除压缩的旧日志文件(谨慎操作,避免删除正在使用的日志)。用户目录下的缓存(如浏览器、应用缓存)和临时文件(/tmp)是磁盘空间的“隐形杀手”。
sudo rm -rf /var/cache/apt/archives/* —— 删除APT下载的未安装包缓存(与apt clean效果类似,但更针对archives目录)。rm -rf ~/.cache/* —— 删除当前用户的缓存文件(包括浏览器、IDE、文件管理器等缓存),需切换至对应用户执行。sudo rm -rf /tmp/* —— 删除系统临时目录下的所有文件(重启后自动清理,手动清理需谨慎,避免删除正在使用的临时文件)。rm -rf ~/.local/share/Trash/* —— 清空用户回收站中的文件(等同于Windows的回收站)。Snap和Flatpak是Ubuntu常用的软件包格式,它们的缓存文件会占用大量空间。
sudo rm -rf /var/lib/snapd/cache/* —— 删除Snap应用的缓存文件(如下载的安装包)。flatpak uninstall --unused —— 删除未使用的Flatpak运行时环境(减少磁盘占用)。图形化或命令行工具可简化清理流程,适合新手或不熟悉命令的用户。
sudo apt install baobab —— 图形化工具,可视化分析磁盘空间占用(如大文件、目录),帮助定位可清理的内容。sudo apt install bleachbit —— 功能强大的清理工具,支持清理缓存、日志、临时文件、浏览器缓存等,可选择清理项目(如“系统缓存”“用户缓存”)。sudo apt install deborphan —— 查找无依赖的孤立库文件(sudo deborphan | xargs sudo apt purge -y),删除无用的库文件,释放空间。设置定时任务(Cron Job),定期自动执行清理脚本,保持系统整洁。
nano /root/clean_cache.sh,添加以下内容:#!/bin/bash
sync && echo 3 > /proc/sys/vm/drop_caches # 释放内存缓存
sudo apt clean && sudo apt autoremove -y # 清理APT缓存和无用依赖
sudo rm -rf /tmp/* ~/.cache/* ~/.local/share/Trash/* # 清理临时文件和回收站
chmod +x /root/clean_cache.sh。crontab -e,添加以下行(每日凌晨2点执行):0 2 * * * /root/clean_cache.sh。uname -r确认当前运行的内核版本,保留至少2个可用内核(避免无法启动)。rm -rf:该命令会递归删除目录及内容,操作前确认路径正确(如/tmp而非/)。sync && echo 3 > /proc/sys/vm/drop_caches会释放内存缓存,可能导致系统性能短暂下降(适合闲置时执行)。