在开始清理前,需先明确空间占用情况,定位“大头”。常用命令如下:
df -h 可显示各分区的总容量、已用空间、剩余空间及挂载点,快速识别占用率高的分区(如根分区/)。du -sh /path/to/directory 可统计指定目录的总大小(如du -sh /home查看用户目录大小);ncdu(需安装,sudo apt install ncdu)是交互式工具,通过图形化界面展示目录树的空间占用,更直观易用。包管理器(如APT、YUM)会缓存下载的软件包,占用大量空间。清理方法:
sudo apt clean 清除所有缓存的软件包;sudo apt autoclean 仅清除旧版本的缓存包(更安全)。sudo yum clean all 清除YUM缓存;sudo dnf clean all 清除DNF缓存(Fedora推荐)。无用软件及依赖项会持续占用空间,需及时移除:
sudo apt remove <软件包名>(Debian/Ubuntu)或sudo yum remove <软件包名>(RHEL/CentOS)。sudo apt autoremove(Debian/Ubuntu)或sudo yum autoremove(RHEL/CentOS)可删除不再被任何软件依赖的包,避免“孤儿包”堆积。日志文件(如/var/log目录下的syslog、auth.log)会随时间增长而膨胀,需定期管理:
journalctl命令(systemd系统):sudo journalctl --vacuum-time=7d 保留最近7天的日志,sudo journalctl --vacuum-size=1G 将日志总量限制在1GB以内。sudo find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \; 删除30天前的.log文件;或用truncate命令清空文件(不删除文件本身):sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;。临时文件(如/tmp、/var/tmp目录下的文件)通常是无用的短期数据,可安全删除:
sudo rm -rf /tmp/* 删除/tmp下的所有临时文件(重启后/tmp会自动清空,但主动清理更及时)。rm -rf ~/.cache/* 删除当前用户的缓存文件(如浏览器缓存、应用临时文件)。系统升级后会保留旧内核版本,占用/boot分区空间(易导致分区满)。清理方法:
dpkg --list | grep linux-image(Debian/Ubuntu)或rpm -q kernel(RHEL/CentOS)。sudo apt remove --purge linux-image-<旧版本号>(Debian/Ubuntu)或sudo yum remove kernel-<旧版本号>(RHEL/CentOS),保留最新的2-3个内核即可(避免系统无法启动)。sudo update-grub(Debian/Ubuntu)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL/CentOS)更新引导菜单。图形化工具适合新手或不熟悉命令的用户,能直观展示空间占用:
sudo apt install baobab(Debian/Ubuntu)或sudo yum install baobab(RHEL/CentOS),通过图形化界面查看目录树的空间分布。sudo apt install bleachbit(Debian/Ubuntu)或sudo yum install bleachbit(RHEL/CentOS),支持清理系统缓存、临时文件、浏览器历史等多种垃圾,还能自定义清理规则。gzip(gzip filename)或bzip2(bzip2 filename)压缩不常用的大型文件(如备份文件、视频),减少占用空间(注意:压缩后会替换原文件,需提前备份)。rm -rf ~/.cache/* 删除当前用户的缓存文件(如浏览器缓存、应用临时文件),释放个人空间。rm -rf ~/.local/share/Trash/* 删除图形界面的回收站文件(如GNOME的垃圾桶)。cron定期执行清理命令(如每天凌晨清理临时文件),例如在/etc/crontab中添加:0 3 * * * root /usr/bin/find /tmp -type f -mtime +1 -exec rm -f {} \;(每天凌晨3点清理/tmp下1天未修改的文件)。df -h或du -sh定期检查磁盘使用情况,设置告警(如通过cron发送邮件),当空间占用超过80%时及时处理。通过以上步骤,可有效优化Linux系统的存储空间,提升系统性能。需注意:清理前务必备份重要数据(如/home目录、数据库文件),避免误删导致数据丢失。