2024年10月那些你不曾了解的win7文件夹的小秘密(2)
⑴关于硬盘空间的占用问题,可以这样测试:
⑵、给硬盘划分一个新分区,空间只有GB
⑶、在这个分区的test目录里面新建了一个.GB大小的文件,此时剩余空间是.GB
⑷、用mklink命令给这个.GB大小的文件建立了一个硬连接
⑸、检查这个分区的剩余空间,还是.GB,但是如果用资源管理器看test目录的属性,会发现有个文件,总大小是.GB(整个分区才GB,能够容纳.GB大小的文件吗?显然不可能了)
⑹还是针对上述的例子,如果我们把原始的文件 gb.txt 删除以后,link.txt文件还是会继续存在的,且内容就是source.txt的文件内容。也就是说,我们删除gb.txt,实际上删除的仅仅是这种连接关系,文件本身还是没有被操作的。
⑺关于硬连接,最后一个需要介绍的内容是:当硬连接建立以后,硬连接双方任何一个对象被修改,都会造成对应的连接对象被修改。例如上面的例子:如果修改了link.txt,那么gb.txt文件也会同步被修改,反之亦然。这一点和SHELL层面的快捷方式不同,SHELL层面的快捷方式文件LNK仅仅是一个指示关系,修改LNK文件并不影响LNK文件指向的对象,修改LNK文件指向的对象也不会影响LNK文件。
⑻WIN新系统下的硬链接情况和使用这种技术的原因
⑼好了,基本知识介绍完了,我们来实际看看Windows目录里面对于硬连接的使用情况吧。
⑽经常看到有人抱怨,WindowsWinSxS目录占用了太多的空间,里面经常发现有同名的文件,而且这些同名的文件在 WindowsSystem 目录下面也有存在,这是为啥呢?其实这就是硬连接导致的。
⑾Microsoft为啥这么麻烦搞这个呢?其实这样对系统的稳定性的增加非常有好处
⑿同样的文件,只需要维护硬连接关系,不需要进行多重的拷贝,这样可以节省硬盘空间
⒀如果涉及文件更新,只需要先在WinSxS 目录里面下载好一个新版本,然后修改 WindowsSystem 下面同名文件的硬连接关系,从旧版本的硬连接指向新版本的硬连接,这样就能够快速的完成文件的更新工作,而不需要进行文件的复制,速度也会快不少
⒁补丁卸载也是一样的,只需要把硬连接指向改为旧版本就可以了,没有文件替换的问题。而且建立了硬连接关系的文件之间的修改是同步的,因此只要有一方被修改了,另一方也会得到修改
⒂说了这么多,那么如何知道 Windows 目录的真实大小呢?有很多小工具可以使用,也可以在DOS下的第三方工具来测试,有兴趣的童鞋就自己测试吧,我的测试结果如下:
⒃对于纯净的系统测试结果如下,共有文件个,其中,真实的文件有个,其他个文件都是硬连接文件。真实的文件占用了 KB的硬盘空间,而如果你用资源管理器看的话,那么会提示说占用了 KB的硬盘空间。其实呢?, Windowssystem 目录下的大多数文件都和 WinSxS 目录建立了硬连接关系~~都多算了一次。
⒄Windows 操作系统winsxs那么多空间占着。其实没那么多。那不过是文件同步映射导致的结果。
⒅如果你安装了时下最流行的微软Windows 操作系统,是否会觉得微软Windows 操作系统下的winsxs文件夹庞大的吓人,有些人就装X说Windows 操作系统占空间了,你觉得呢?看了本文后,你有答案了吗?