linux根目录清理须分目录施策:/tmp可定期清空(如sudo rm -rf /tmp/*或启用systemd-tmpfiles),/var/log需用logrotate或journalctl结构化管理,/var/cache/apt等缓存可安全清理,/usr/local和/home需谨慎甄别,严禁盲删系统基石目录。

Linux根目录下的关键目录各司其职,维护和清理不能一概而论——有些可定期清空,有些连查看都需谨慎,误操作可能直接导致系统无法启动或服务中断。核心原则是:分清“可变数据”与“系统基石”,只对明确可再生、非核心的目录执行清理。
/tmp:临时文件的默认回收站
该目录专为运行时临时文件设计,多数发行版会在重启时自动清空,但长期运行的服务器容易堆积残留文件。
- 建议每周执行一次清理:sudo rm -rf /tmp/*(注意末尾星号,避免误删/tmp本身)
- 更稳妥的方式是启用systemd-tmpfiles:检查/etc/tmpfiles.d/*.conf配置,确保tmp.conf中设置了自动清理策略(如v /tmp 1777 root root 10d表示10天未访问即删除)
- 不建议手动删除/tmp/.X11-unix或/tmp/.docker.sock等套接字文件,应先停止对应服务再清理
/var/log:日志膨胀的主因,必须结构化管理
日志不清理是根目录空间告急最常见的原因,但直接rm -rf风险极高——可能误删正在写入的当前日志或journalctl数据库。
- 优先使用logrotate:确认/etc/logrotate.d/下有对应服务配置,例如nginx、mysql的轮转规则;主配置/etc/logrotate.conf中应启用dateext和maxage 30
- 对于journald日志:sudo journalctl --vacuum-size=500M限制总大小,或sudo journalctl --vacuum-time=2weeks保留两周
- 清理前可用sudo du -sh /var/log/* | sort -hr | head -10快速定位最大日志源
/var/cache 与 /usr/local:缓存可删,本地软件需甄别
缓存类目录本质是“可丢弃副本”,而/usr/local存放的是管理员手动安装的软件,清理逻辑完全不同。
- /var/cache/apt/archives(Debian/Ubuntu)或/var/cache/dnf(RHEL/Fedora):执行sudo apt clean或sudo dnf clean all安全清空,不影响已安装软件
- /var/cache/yum等旧式缓存目录,若系统已迁移到dnf,可直接sudo rm -rf /var/cache/yum
- /usr/local下若存在明显废弃的编译安装目录(如/usr/local/src/old-app-1.2),可删除;但/usr/local/bin中的脚本需逐个确认用途,不可批量清除
/home 与 /root:用户空间清理要区分责任主体
这两个目录不属于系统运行所必需,但存放真实业务数据,清理必须由归属者主导,管理员仅协助制定策略。
- /home/*/.cache、/home/*/Downloads、/home/*/Trash是典型清理目标,可用find /home -path "*/.cache/*" -type f -mtime +90 -delete批量清理90天未访问缓存
- /root/.bash_history可定期截断(head -n 1000 /root/.bash_history > /root/.bash_history.tmp && mv /root/.bash_history.tmp /root/.bash_history),避免历史命令无限增长
- 严禁管理员代为删除/home下用户文档、项目代码等,应通过配额(setquota)或通知机制推动用户自主整理











