隐藏目录
去年秋天,隐藏目录我在一台旧笔记本上装了个轻量级Linux系统,隐藏目录硬盘只有32G。隐藏目录系统跑起来之后,隐藏目录我习惯性地敲了 du -sh /* 看空间去向,隐藏目录结果发现 /usr 占了将近7个G。隐藏目录当时我心想,隐藏目录一个没装桌面环境的隐藏目录命令行系统,凭什么吃这么多?隐藏目录
顺着目录一层层扒下去,答案藏在 /usr/share 里。隐藏目录文档、隐藏目录locale语言包、隐藏目录man手册、隐藏目录icons、隐藏目录各种示例文件,隐藏目录光是 /usr/share/doc 就塞了1.2G。这些东西你平时根本不会打开,但发行版默认全给你装上了。它们不碍事,只是安静地躺在那里,像阁楼角落里落灰的纸箱。
这让我开始留意一个事:操作系统里到底藏了多少我们不知道的东西?
Linux的目录结构其实挺坦诚的。/bin 放基本命令,/etc 放配置,/home 放用户数据,/var 放日志和缓存。这套FHS标准从1994年定下来之后,大框架就没怎么变过。但你真要一个个翻,会发现很多目录的存在感极低。
比如 /lost+found。这个目录在ext3/ext4文件系统的根分区下默认存在,平时是空的。只有文件系统出问题、fsck做修复之后,那些找不到归属的碎片文件才会被扔进来。文件名通常是一串数字,你根本认不出它原来是干什么的。我见过一个跑了六年的服务器,/lost+found 里躺着十几个这种无名文件,时间戳横跨三年,没人动过。
再比如 /proc。这不是真正的磁盘目录,是内核在内存里虚拟出来的。你 cat /proc/cpuinfo 能看到CPU信息,cat /proc/meminfo 能看到内存使用。但 /proc 下面还藏着每个进程的目录,以PID命名。你随便进一个 /proc/1234/,里面能看到这个进程打开的文件描述符、内存映射、环境变量,甚至能通过 /proc/1234/cwd 软链接找到它的工作目录。有人管这叫“内核的窗口”,我觉得更像X光片——平时不觉得,一旦打开,里面什么都能看见。
macOS那边也有类似的东西。你用Finder是看不到 ~/Library 的,它被系统隐藏了。但这个目录里装着几乎所有应用的配置、缓存、邮件数据、Safari的浏览记录。很多人用了好几年Mac都不知道它的存在,直到某天磁盘满了,用工具一扫,发现 ~/Library/Caches 吃了30个G。
Windows也一样。C:\Windows\Installer 这个目录,藏着一堆MSI和MSP文件,是软件安装时的缓存。你正常看不到它——资源管理器默认不显示隐藏文件,而且这个目录的权限设置得很拧巴,直接双击还进不去。但它的体积可能有好几个G。微软官方甚至专门发过文章,警告用户别手动删这个目录里的东西,删了之后很多软件没法卸载也没法修复。
这些隐藏目录有个共同点:它们不是给用户日常操作的,而是给系统或程序自己用的。设计者的逻辑是“你不需要知道”,但问题是,当磁盘告急、系统变慢、或者你想彻底卸载某个软件的时候,不知道它们的存在就会让你抓瞎。
我现在养成一个习惯,拿到任何新系统,先跑一遍磁盘占用分析,把那些体积大但名字陌生的目录记下来。不一定马上动它们,但至少知道钱花在哪儿了。上次帮朋友清理一台老MacBook,就是靠这招从 ~/Library/Application Support 里翻出了某个已经卸载的Adobe软件残留的12G缓存。朋友一脸懵:“这软件我两年前就删了啊。”
对,删了,但没删干净。隐藏目录就是这样,它们不吵不闹,只是默默占着你的空间,等着你哪天想起来去看一眼。
本文地址:http://www.79wt.cn/news/1103c9899791.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。