真正吃掉磁盘空间的往往是隐藏目录;需优先排查~/.cache/、~/.local/share/、/root/.cache/、/var/cache/及回收站类目录,用du和find命令定位后谨慎清理。

Linux 目录结构里,真正吃掉磁盘空间的往往不是你看到的文件夹,而是那些以点号(.)开头、默认不显示的隐藏目录。它们安静地躺在用户主目录、系统路径甚至挂载点里,日积月累就变成“隐形空间黑洞”。清理前不找出来,删再多可见文件也无济于事。
重点排查几类高危隐藏目录
这些位置最常藏匿大量无用数据,优先检查:
- ~/.cache/:浏览器、IDE、包管理器(pip/npm/maven)、AI工具(CUDA/cuDNN缓存、conda envs)都会往这里塞临时数据,动辄几十GB
- ~/.local/share/:应用数据存放地,比如 Docker Desktop、VS Code 扩展缓存、Telegram 桌面版媒体缓存,容易被忽略
-
/root/.cache/ 或 /home/*/.*:root 用户或普通用户下的隐藏配置与缓存,尤其在云实例(如 AutoDL)中,
.Trash-0回收站常占几十GB却不显示 -
/var/cache/ 下的子目录:
/var/cache/apt/archives/(Debian/Ubuntu)、/var/cache/yum/(RHEL/CentOS)、/var/cache/dnf/,长期未清理会堆积旧安装包 - /tmp 和 /var/tmp:虽然本该自动清理,但某些服务异常退出后残留大文件(如训练中断的 checkpoint 临时副本)
快速定位隐藏空间大户的命令组合
不用盲猜,用这几条命令直击问题根源:
- 查当前用户主目录下所有隐藏目录大小:
du -sh ~/.??* 2>/dev/null | sort -hr(.??*匹配以点开头、长度≥2的隐藏项,避开.和..) - 查整个系统中大于 100MB 的隐藏文件或目录:
find / -xdev -path '*/.*' -type d -size +100M 2>/dev/null -exec du -sh {} \; | sort -hr | head -10 - 专盯回收站:
find / -xdev -name ".Trash-*" -type d 2>/dev/null -exec du -sh {} \; | sort -hr,常见于/root/autodl-tmp/.Trash-0或/home/user/.local/share/Trash - 交互式扫描(推荐装 ncdu):
sudo ncdu / --exclude /proc --exclude /sys --exclude /dev,按s排序,↑↓导航,d删除选中项,直观高效
清理时注意保留与风险规避
隐藏目录不是都能删,有些删了会影响软件运行:
-
保留:
~/.config/(存配置)、~/.ssh/(密钥)、~/.gnupg/(GPG 密钥环),这些是功能必需,只清其下子目录如~/.config/Code/Cache -
谨慎删:
~/.local/share/Trash/和.Trash-*可直接rm -rf;~/.cache/整体清空一般安全,但部分应用(如 Firefox)重启后会重建,不影响使用 -
别碰:
/var/lib/下的隐藏目录(如/var/lib/docker/是 Docker 数据根目录,删错会导致容器全丢)、/etc/.git等系统配置仓库 - 执行前先确认路径:
ls -la /path/to/suspicious/dir,看里面是不是真有旧日志、缓存包或已删除文件
预防下次再爆满
定期清理比事后抢救更省力:
- 加一条定时任务,每周清用户缓存:
0 3 * * 0 rm -rf ~/.cache/* 2>/dev/null - 禁用图形界面回收站(若不用桌面):
echo "enabled=false" > ~/.config/user-dirs.dirs - 对大项目目录(如
/root/autodl-tmp)单独监控:watch -n 300 'du -sh /root/autodl-tmp/.Trash-* 2>/dev/null' - 用
alias cleanup='du -sh ~/.cache ~/.local/share/Trash ~/.local/share/containers | sort -hr'快速复检


















