如果你安装了时下最流行的微软Windows 7操作系统,是否会觉得微软Windows 7操作系统下的winsxs文件夹庞大的吓人,有些人就装X说Windows 7操作系统占空间了,本文为你详解。 // 本文来自技术世界www.js4j.com 专业技术门户网站//
关于最近的新的微软安全,稳定着称的操作系统
// 本文来自技术世界www.js4j.com 专业技术门户网站//
我们知道,查看一个目录有多大的最快捷的方法就是看看资源管理器文件夹的属性,但是我今天要说的是:如果你用这个方法去看 Windows Vista / Windows 7 系统的目录,你会被你的眼睛所欺骗,因为,Microsoft 同学在 Windows Vista/ Windows 7 里面大量使用了NTFS文件系统的特性之一的:硬连接(Hard Link)来实现WinSxS机制!
用过的人都知道,要安装 Windows Vista / Windows 7系统,那么系统分区必须是NTFS文件系统。原因有以下一些:系统文件保护所需;各种安全保护机制,如MIC所需;WinSxS 所需……
关于最后一点的 WinSxS 所需,所以NTFS这是Windows Vista / Windows 7 系统需要的一个条件,因为只有在 NTFS 文件系统上面,才能实现硬连接机制,也才能达到优化Windows目录占用磁盘空间的目的。 // 来自www.js4j.com 技术BBS论坛//
关于微软系统的硬链接
硬链接是什么呢?简单的说,就是一种针对文件的特殊快捷方式,只不过这种快捷方式的实现和一般的快捷方式不一样。
// 本文来自技术世界www.js4j.com 技术教程//
硬连接是NTFS文件系统特有的属性之一,在Linux下面,也有类似的机制。硬连接适用于在同一个卷的文件级别,硬连接是不能跨卷的。
硬链接,系统属性测试
// 内容来自js4j.com//
Windows Vista / Windows 7自带了创建硬连接的命令:mklink.exe,利用这个命令,我们可以给指定的文件创建硬连接:
下面的命令将在link.txt和source.txt之间建立硬连接关系
C:\Users\hoii\Desktop》mklink /h link.txt gb.txt
为 link.txt 《《===》》 gb.txt 创建了硬链接
注意上面的例子:link.txt本是一个不存在的文件,但是当执行完mklink命令以后,link.txt文件也就被创建了。其实,link.txt是一个虚假的文件,它是在文件系统层面上对gb.txt文件的一个映射,而link.txt是不占硬盘空间的。
关于硬盘空间的占用问题,可以这样测试:
1、给硬盘划分一个新分区,空间只有2GB
2、在这个分区的test目录里面新建了一个1.9GB大小的文件,此时剩余空间是0.1GB
3、用mklink命令给这个1.9GB大小的文件建立了一个硬连接
4、检查这个分区的剩余空间,还是0.1GB,但是如果用资源管理器看test目录的属性,会发现有2个文件,总大小是3.8GB(整个分区才2GB,能够容纳3.8GB大小的文件吗?显然不可能了)
还是针对上述的例子,如果我们把原始的文件 gb.txt 删除以后,link.txt文件还是会继续存在的,且内容就是source.txt的文件内容。也就是说,我们删除gb.txt,实际上删除的仅仅是这种连接关系,文件本身还是没有被操作的。
关于硬连接,最后一个需要介绍的内容是:当硬连接建立以后,硬连接双方任何一个对象被修改,都会造成对应的连接对象被修改。例如上面的例子:如果修改了link.txt,那么gb.txt文件也会同步被修改,反之亦然。这一点和SHELL层面的快捷方式不同,SHELL层面的快捷方式文件LNK仅仅是一个指示关系,修改LNK文件并不影响LNK文件指向的对象,修改LNK文件指向的对象也不会影响LNK文件。
Windows7系统文件夹中的秘密
- 发布于:2022-08-30
- 共 209 人围观
// 本文来自技术世界www.js4j.com 技术论坛//
// 本文来自技术世界www.js4j.com 技术教程//
// 内容来自技术世界www.js4j.com 技术爱好者//
// 本文来自技术世界www.js4j.com 专业技术门户网站//
// 本文来自技术世界www.js4j.com 技术论坛//