NTFS“秘密”?

几个星期前,我通过NTFS上的维基百科条目阅读,并注意到有可能使用符号链接之间的许多其他function ,在Windows资源pipe理器中不明显。

还有哪些其他有用的function可能无法在维基百科中logging ,以及如何获得这些function? 是否有用于操纵/创build/使用这些function的第三方程序,registry设置,隐藏configuration窗口,cli等?

更新:把它变成一个社区维基。

    Microsoft为此至less分发了两个Sysinternals工具。

    1. 连接点可以让你操作连接点(符号链接)。
    2. stream将显示备用数据stream。 该页面还向您显示:stream语法以从命令行操作它们。

    备用数据stream – 您可以使用LADS工具来枚举它们。

    您可以通过执行以下操作来创build它们:

    记事本test.txt:adsname1
    记事本test.txt:adsname2
    记事本test.txt

    所有3将在资源pipe理器中显示为1文件,但它们都是不同的stream附加到相同的文件名。

    NTFS支持Win32 API不支持的文件名。 例如,POSIX子系统允许以下名称(来自Windows内部的书):

     "TrailingDots..." "SameNameDifferentCase" "samenamedifferentcase" "TrailingSpaces " 

    显然,你仍然可以通过使用'dir / x'

    它也可以创build具有长文件path的文件(最多32,000个字符)。 你仍然可以在资源pipe理器中看到它们,但不能轻易删除它们。

    Windows内部由马克Russinovich有一章关于NTFS和它做了什么,不支持。 在第五版中,第11章介绍了Windows NT支持的所有文件系统,并详细介绍了NTFS的内部。

    如果我没有弄错的话,Windows的fsutil命令会公开大部分NTFS的晦涩特性。 Start -> Run -> cmd.exe -> fsutil /? 获取更多信息。

    NTFS支持“符号链接”:

    • 在所有版本的NTFS目录(MS术语:“路口”)
    • 用于文件(自Vista和Server 2008以来使用CreateSymbolicLink )

    它还支持从Windows 2000开始的CreateHardLink函数的文件硬链接。

    检查此页面: 硬链接和连接 。

    我在Python脚本中使用了CreateHardLink (通过Python的ctypes模块)。 我甚至有一个“演绎者”脚本,可以find重复的文件,在某些情况下,用硬链接代替它们,这样可以释放典型的Windows安装中的大量空间。

    O'Reilly于1997年发表了Windows NT文件系统内部 。 它的老,所以很多的信息可能会过时。 但是,它应该包含大量的信息。