几个星期前,我通过NTFS上的维基百科条目阅读,并注意到有可能使用符号链接之间的许多其他function ,在Windows资源pipe理器中不明显。
还有哪些其他有用的function可能无法在维基百科中logging ,以及如何获得这些function? 是否有用于操纵/创build/使用这些function的第三方程序,registry设置,隐藏configuration窗口,cli等?
更新:把它变成一个社区维基。
Microsoft为此至less分发了两个Sysinternals工具。
: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支持“符号链接”:
它还支持从Windows 2000开始的CreateHardLink函数的文件硬链接。
检查此页面: 硬链接和连接 。
我在Python脚本中使用了CreateHardLink
(通过Python的ctypes
模块)。 我甚至有一个“演绎者”脚本,可以find重复的文件,在某些情况下,用硬链接代替它们,这样可以释放典型的Windows安装中的大量空间。
O'Reilly于1997年发表了Windows NT文件系统内部 。 它的老,所以很多的信息可能会过时。 但是,它应该包含大量的信息。