Linux系统垃圾文件清理方法
包管理器下载的软件包会占用大量磁盘空间,定期清理可有效释放空间。
sudo apt clean:删除所有已下载的.deb缓存包(彻底释放/var/cache/apt/archives空间);sudo apt autoclean:仅删除不再可用的旧版本包缓存(保留当前可用版本);sudo apt autoremove:移除不再需要的依赖包(避免“孤儿包”堆积)。sudo dnf clean all(Fedora)/sudo yum clean all(RHEL):清理DNF/YUM缓存(包括元数据和下载的包);sudo dnf autoremove(Fedora)/sudo yum autoremove(RHEL):移除无用依赖。sudo pacman -Sc:清理旧版本包缓存(保留最新版本);sudo pacman -Scc:彻底清理所有包缓存(谨慎使用,会删除所有缓存)。临时文件(如系统运行生成的日志、缓存)通常存放在/tmp、/var/tmp和用户主目录下,定期清理可避免空间浪费。
sudo rm -rf /tmp/*:清空系统临时目录(系统重启会自动清理,但可提前释放空间);sudo rm -rf /var/tmp/*:清空/var/tmp目录(存放长期临时文件);rm -rf ~/.cache/*:删除用户主目录下的应用缓存(如浏览器、编辑器缓存);rm -rf ~/.local/share/Trash/*:清空回收站的文件。find命令精准清理:
sudo find /tmp -type f -mtime +7 -delete:删除/tmp下7天未修改的文件;sudo find /var/tmp -type f -size +10M -delete:删除/var/tmp下超过10MB的文件。日志文件(如/var/log下的系统、应用日志)会随时间增长占用大量空间,需定期归档或删除。
journalctl管理systemd日志:
sudo journalctl --vacuum-size=100M:限制日志总大小为100MB(自动删除旧日志);sudo journalctl --vacuum-time=7d:保留最近7天的日志。sudo du -sh /var/log/*:查看各日志文件/目录的大小(定位大日志);sudo find /var/log -type f -name "*.log.old" -delete:删除旧日志备份(如.log.old文件);sudo find /var/log -type f -name "*.log" -exec gzip {} \;:压缩当前日志以节省空间。系统升级会保留旧内核,占用/boot分区空间,需定期清理。
uname -r(确认正在使用的内核版本,避免误删);dpkg --list | grep linux-image(Debian/Ubuntu)或rpm -qa | grep kernel(Fedora/RHEL);sudo apt remove --purge linux-image-<旧版本号>(如linux-image-5.15.0-30-generic);sudo dnf remove <旧版本号>;sudo update-grub(Debian/Ubuntu)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(Fedora/RHEL)更新引导配置。第三方工具提供图形化界面和自动化功能,适合不熟悉命令的用户。
sudo apt install bleachbit(Debian/Ubuntu)、sudo dnf install bleachbit(Fedora)、sudo pacman -S bleachbit(Arch);sudo bleachbit(以管理员权限启动,清理系统级文件)。用户日常使用产生的缓存(如浏览器、聊天软件、系统设置缓存)也会占用空间,需定期清理。
rm -rf ~/.cache/*(删除所有用户缓存,包括应用缓存、缩略图等)。通过cron定时任务实现定期自动清理,避免手动操作遗忘。
cron任务:crontab -e;0 2 * * * /usr/bin/apt clean && /usr/bin/apt autoclean && /usr/bin/apt autoremove -y && /usr/bin/journalctl --vacuum-size=100M && /usr/bin/find /tmp -type f -mtime +7 -delete && /usr/bin/find /var/tmp -type f -mtime +7 -delete
(注:根据系统类型调整命令,如Fedora替换为dnf,Arch替换为pacman)注意事项:
/home目录、数据库文件);rm -rf命令时需确认路径,避免误删系统文件;docker system prune -a清理未使用的镜像、容器和卷(谨慎使用,会删除所有未使用的资源)。