NTFS连接点和符号链接有什么区别?

在高层次上, NTFS连接点和符号链接之间唯一明显的区别是连接只能是目录,而SymLinks也可以作为目标文件。

两者之间还有什么其他的区别?

(注意,我已经看到了这个问题 ,我正在寻找的是一个有点不同 – 这个问题是寻找一个专业和清单,我正在寻找一组技术差异)

我发现对差异最有用的地方:

http://blogs.msdn.com/b/junfeng/archive/2006/04/15/576568.aspx

http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

假定:符号链接是在Windows中的连接点,因为符号链接是在Unix中的硬连接。

http://en.wikipedia.org/wiki/Symbolic_link#Windows_7_.26_Vista_symbolic_link

Windows 7和Windows Vista通过命令行实用程序mklink支持文件和目录的符号链接。 与连接点不同,符号链接也可以指向文件或远程服务器消息块(SMB)networkingpath。 另外,NTFS符号链接实现提供对跨文件系统链接的全面支持。 但是,启用跨主机符号链接的function要求远程系统也支持它们,这有效地限制了对Windows Vista及更高版本Windows操作系统的支持。

http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/

由Windows创build的符号链接与目录联结非常相似,但与目录联结不同,它可以指向文件或远程networking文件或目录。 目标可以被定义为相对于符号链接位置的path,或者当前卷或另一个中的绝对path。 另请注意,文件的符号链接与目录的符号链接不同,目标必须与定义相符。

在function上,在Windows中,一旦创build,就没有真正的区别。 然而,他们在做什么之间存在显着差异。 只有在同一个驱动器或不同的驱动器上创build链接到文件夹的链接,只有当这些驱动器位于本地系统上时(不能通过networking创build到文件夹的联结链接)符号链接但是,不具有相同的限制。 符号链接可用于链接到文件或文件夹,这些文件或文件夹可以位于同一个系统(相同的驱动器或不同的驱动器)或networking共享,并可以使用相对位置符号(“\\ system2 \ foldera \ file.txt“,”d:\ foldera \ file.txt“,”\\ system2 \ foldera“,”d:\ foldera“或”d:\ foldera \ folderb ..“ )相对位置符号可以是“。”,“..”,当前驱动器相对function(如果当前驱动器是c:,则指定“\ tempa \ folderb”结果链接到c:\ (如果当前目录是d:\ foldera \ folderb,则指定“d:file.txt”会生成到d:\ foldera \ folderb \ file.txt的链接)。

综上所述:结点仅限于本地系统上的文件夹,而符号链接可以创build指向通过UNCpath可访问的文件夹或文件的链接,或者在本地系统上指定这些位置的function更多。 符号链接基本上是一个更多function的替代连接点和硬链接。 此外,符号链接在创build跨平台的UNC分配链接时与Unix和Linux兼容。

希望这能以令人满意的方式回答你的问题。 编辑来纠正印刷错误。

链接shell扩展, http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html ,是创build和查看多种链接的好工具。 它也有很好的文档。

[完整安装后,如果您正在查看高级链接,则会添加新的属性选项卡。 还为各种链接types添加了图标叠加箭头 – 滚动到“常见问题解答”部分(如果不显示); Windows只支持十三个覆盖; 他显示了一个registry解决方法。 它的信息有用性的一个例子:试图获得你认为是一个文件夹的权限,但实际上是一个系统提供的Junction Link,通常用于与旧版Windows的兼容。

当为本地系统上的目录创build时,连接和符号链接的作用基本相同。

然而:

他们在networking上采取不同的行为。 此链接描述此行为: https : //superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

如果你把Junction Links看作是“把操作系统作为位置的笨手笨脚的捷径”,那么你将会有一个很好的实用的明喻,它们的用途是什么? 主要区别在于,如果您复制符号链接或结点,它将复制目标,而不仅仅是包含指针的文件(如快捷方式)。 与快捷键一样,您可以删除符号链接或连接链接而不删除目标文件/文件夹。 [硬链接,该文件只删除最后一个链接 – 包括从回收站删除。 查看LSE中的任何链接的属性标签以查看目标或硬链接的引用计数。]

硬链接或快捷方式是唯一可以移动的链接types,没有像打破或复制整个目标的副作用。 移动目标总是会断开链接,尽pipe它们可以很容易地在属性标签(用LSE显示)中更新,或者如果复杂,可以用LSE重新创build。

符号链接的创build需要pipe理员权限,而连接不需要。 这加上Junctions的广泛的内部操作系统使用,表明Windows以直观,预期的方式处理它们。 [对系统文件夹的意外副作用(来自Win 10的经验)有些小心。]

[Link Shell Extension的一些特定于备份的function非常有用 – 简而言之,它可以在标准文件夹中创build几种可更新的符号链接结构,用于待定备份目的。]

最近在Windows中引入了符号链接:从Vista开始。

符号链接不应被视为现有NTFS“重新分析点”技术的替代scheme。

微软解释说,符号链接的唯一目的是与Unix更加兼容。

MSDN:“ 符号链接的devise有助于迁移和应用程序与UNIX的兼容性,微软已经实现了象UNIX链接一样的符号链接function。

Vista也是使用链接来运行的firt操作系统。 为了与传统文件夹名称兼容, C:\Documents and Settings现在是到C:\Users的链接。

有趣的是,尽pipeVista引入了符号链接,但这个“ Documents and Settings ”技巧实际上是一个普通的旧连接。