以win7为例谈NTFS的高级特性和应用
微软从Windows 2000开始引入了NTFS文件系统,但此时用户可以选择将系统安装在非NTFS格式的分区中。到了当前,Windows 7却只能安装在NTFS格式中了。这其中我们可以看到微软对NTFS的器重,当然和当年相比其特性和功能有了很大的扩展和提升。不过,对于NTFS的诸如压缩、加密、安全授权等功能大家比较熟悉,本文将以Windows 7系统为例,谈谈其下的NTFS高级特性和应用。
1、高效、节省的硬链接
通常情况下,我们需要将同一个文件显示在不同的位置。例如,有时需要将一篇位于网络共享中的文档提供给所有的用户使用,但某些应用程序可能必须要从另外一个特定的位置才能打开该文档,以便进行正常的读写操作。此时,我们并不需要将文件移动到应用程序要求的目录或给特定的用户分配访问受保护目录的权限,只需借助Windows 7的NTFS特性通过“fsutilhardlink”命令 给该文档创建硬链接,以便使其可以被用户和应用程序单独访问。
(1).硬链接为管理员带来的便利
很明显,Windows 7中通过硬链接实现文档的访问方式无疑是非常高效的。一个命令可以轻松搞定,且省去了文件复制的麻烦。此外,还有一点也是令我们幸喜的。无论一个文件有多少个硬链接,相关的目录项都将指向某个卷上现有的同一个文件,而这正式硬链接和文件副本的不同。我们知道文件的副本,文件的数据实际上是存在于多个位置下的。据此,使用硬链接无疑节省了我们的磁盘空间。
还有一点也是我们乐见的,通过使用硬链接,文件会显示为存在多个位置,但实际上只存在于一个位置,因此如果使用其中的一个硬链接修改并保存了这个文件,而其他人通过不同的硬链接打开该文件,修改后的内容一样可以显示出来。此外,因为具有多个硬链接的文件实际上只有一个副本,因此硬链接并不会有多个安全描述,只有源文件具有安全描述。所以如果希望更改某个文件任何一个硬链接的访问权限,只需对该硬链接指向的实际源文件物理副本进行更改,这样该文件副本关联的所有硬链接都会被用于新的安全设置。
除此之外,硬链接也提高了文件的安全性。比如,我们为一个文件创建了多个硬链接,那么除非将所有的硬链接都删除掉,否则该文件就无法从卷上删除。这样的话,如果有人无意删除了一个有多个硬链接的文件,文件本身并不会被删除,被删除的只是受影响的硬链接,而其他硬链接和文本本身不受影响。
(2).创建硬链接
要创建硬链接,需要使用“fsutil hardlink”命令。其命令格式为“fsutil hardlink create newfilepath currentfilepath”。其中newfilepath是要为该文件创建的硬链接的路径,而currentfilepath是要链接到的现有文件的名称。例如,我们要为c:\test目录中的test.doc文件创建新的硬链接c:\ctocio\ctocio.doc,需要执行命令“fsutil hardlink create c:\ctocio\ctocio.doc c:\test\test.doc”。命令执行完毕后,硬链接创建成功。此时,当我们双击 c:\ctocio\ctocio.doc打开的则是c:\test\test.doc文件。(图1)
(3).硬链接的不足
笔者在使用硬链接的过程中也发现了其中的一些不变或者不足之处。其一是,硬链接只能在NTFS卷上创建,不能在一个卷上同时创建指向另一个卷的硬链接。也就是说,我们无法在C盘上创建指向D盘文件的硬链接。其二是,硬链接并不适合多个用户需要并发修改同一个文件的环境,比如协同办公。具体来说,假设用户A使用一个硬链接打开了这个文件,并修改了该文件,但同时用户B使用另外一个硬链接打开同一个文件,并进行修改,如果两人尝试同时保存修改内容就会出现问题。
2、记录文件信息的数据流
不同于Vista,Windows 7只能安装在NTFS分区中,这应该是出于对其安全可靠性的考虑。在NTFS卷上的每个文件都有其相关的数据流,这些数据流记录了文件的详细信息,相当于该文件的“名片”。其实所谓的数据流,就是包含在文件内容中的一系列字节的内容,数据流分为主数据流和可命令数据流。主数据流是未命名的,并且只能被文件系统查看。命名数据流中包含了与该文件有关的额外信息,例如自定义的属性和摘要信息。这样,我们就可以给文件关联额外的信息,但文件和信息仍将作为一个整体。
在创建命名数据流并将其关联给文件后,任何知道如何处理命名数据流的应用程序都可以通过名称读取数据流,并读取额外信息。例如,我们熟悉的Microsoft Office是可以读取数据流的。这样我们就可以为Word文档设置摘要信息,例如标题、主题、作者,并将这些信息和文件一起保存。
通常情况下,我们要查看文件的数据流信息,可用鼠标右键单击保存NTFS分区中的任何文件,选择“属性”,并切换到“详细信息”选项卡,都可以看到关联到文件的数据流信息。一般来说,关联到文件的命名数据流可用于设置其属性选项卡的名称,以及生成这些选项卡下显示的信息。因为某些类型的文档可能包含额外的选项卡,例如我们可以看到是文件略缩图就保存在文件中。当然,在文件属性对话框的“详细信息”选项卡下,我们可以选择性地删除关联到文件的属性及其个人信息。只需单击“删除属性和个人信息”链接,并选择相应的删除方式,系统就会通过从文件相关的数据流中删除相应的值来实现我们的目的。(图2)
相信大家注意到,当我们将保护命名数据流的文件移动或复制到FAT分区上时,就会看到一个名为“确认数据流丢失”的警告对话框,这说明FAT分区是不支持数据流的。笔者还是建议大家的Windows 7系统除了系统分区是NTFS之外,其他分区最好都使用NTFS分区,这样能够提升系统的安全稳定性,而且NTFS的特性在我们进行系统管理是非常有用的。
3、了解文件变动信息的变动日志
在Windows 7中,NTFS分区具有文件变动信息的记录功能。变动日志可以针对卷的所有操作记录完整的日志,记录的内容可包含添加、删除和修改操作,无论那个用户进行的操作,或者进行的添加、删除和修改操作都会记录在案。这和系统日志类似,变动日志是持续的,因此就算是关闭或重启系统,这些内容依旧可以保留。当发生NTFS检查点事件后,系统就会将记录写入到NTFS变动日志中,检查点会告诉系统写入变动,以便让NTFS可以在发生故障后恢复到特定的检查点状态下。
要了解有关变动日志功能的摘要信息,我们只需在命令行下运行“fsutil usn queryjournal DriveDesignator”命令即可,其中DriveDesignator的我们要查询的卷。例如我们要查看C盘的变动日志摘要,可运行命令“fsutil usn queryjournal c:”。在笔者的Windows 7中,命令的输出结果如下:
Usn Journal ID : 0x01c9cb581f565250
First Usn : 0x00000000004c0000
Next Usn : 0x000000000224be08
Lowest Valid Usn : 0x0000000000000000
Max Usn : 0x7fffffffffff0000
Maximum Size : 0x0000000002000000
Allocation Delta : 0x0000000000400000
“Usn Journal ID”是USN日志ID,这是该变动日志的唯一标识符。“First Usn”是第一个USN,这是日志中的第一个USN。“Next Usn”是下一个USN,这时变动日志下一个可以被写入的USN。“Lowest Valid Usn”是最低有效USN,这是可以被写入变动日志的最低有效USN。“Max Usn”是最大USN,这是可以被分配的最大USN。“Maximum Size ”是最大值,这是变动日志可以使用的字节最大值,如果变动日志超过该值,以前的项目就会被覆盖。“Allocation Delta”是分配差,这是当变动日志装满后,可以被添加到日志的末尾,或者从日志的开头处删除的,被分配的内容空间大小。
假如我们要了解某个文件最新的变动日志项,只需在命令行下执行命令“fsutil usn readdate filepath”即可,其中filepath是要查看变动信息的文件的路径和名称。例如,如果要查看C:\Windows\setupact.log文件的最新变动日志信息,可执行命令“fsutil usn readdata C:\Windows\setupact.log”,命令的输出结果如下:
Major Version : 0x2
Minor Version : 0x0
FileRef# : 0x0001000000002abe
Parent FileRef# : 0x0001000000000210
Usn : 0x0000000002246948
Time Stamp : 0x0000000000000000 12:00:00 AM 1/1/1601
Reason : 0x0
Source Info : 0x0
Security Id : 0x0
File Attributes : 0x20
File Name Length : 0x18
File Name Offset : 0x3c
FileName : setupact.log
(图3)
这些数据的开始位置显示了该文件在根文件索引中的索引编号以及父项,同时还显示了该文件当前的USN已经文件属性标记。所有这些有关该文件的最新变动日志,方便了特定的系统服务直接查询,以判断对文件的修改情况,不仅速度更快,而且对系统资源是使用也更高效。
4、方便的压缩(Zipped)文件夹
在Windows 7中不需要安装第三方的压缩/解压工具,利用其提供的“压缩(Zipped)文件夹”就能够满足我们的需求。在使用这种方式压缩数据时,实际上的使用Zipped压缩技术减少文件和文件夹的字节,以达到占用较少磁盘空间的目的。Zip压缩是对系统的扩展,因此它不仅支持NTFS卷,还支持FAT卷。同时,Zipped文件夹还可以使用密码保护,以实现通过电子邮件、FTP、Http发送。笔者感觉Zipped文件夹一个非常好的特性是,我们直接可以从被压缩文件夹内部运行程序,而不用先将其解压缩。
要创建Zipped文件夹,我们可以在Windows 7的资源管理器中需要压缩的文件、文件夹或者它们的组合,用鼠标右键单击指向“发送到”,选择“压缩(Zipped)文件夹”。Zipped文件夹会自动使用所选的最后一个项目的名称命名,同时会添加.ZIP的扩展名。要访问压缩(Zipped)文件夹,只需双击即可打开,然后和直接运行或者打开其中的程序或者文件。(图4)
我们在使用Zipped文件夹时,可执行的操作工作就像针对一般文件夹的操作一样,同时还可以执行这样的操作:用拖动的方式添加其他文件、程序或者文件夹到Zipped文件夹;将Zipped文件夹中的文件复制并粘贴到其他文件夹;使用剪切命令从Zipped文件夹中删除文件,并将其粘贴到其他位置;通过右键单击Zipped压缩文件夹选择“全部提取”可启动提取向导,然后将其中的所有文件提取出来,并复制到新的位置。另外,我们还可以单击该文件,给文件添加密码,以控制用户对该文件夹的访问。(图5)
总结:NTFS是一个成功的文件系统,它带给Windows以安全和高效。当然,它也是一个在不断扩展完善中的文件系统,作为用户其中的很多特性需要我们进一步去挖掘和应用,希望本文能够为大家提供帮助。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/jtjc/win10/173892.html