符号链接具有更多的功能,而连接点似乎是一种遗留功能,因为它们的限制,但正是这些限制的安全影响,使得连接点可能比符号链接更受欢迎。 远程定位使符号链接更加实用,但也提高了它们的安全性,而连接点更安全,因为它们被限制在本地路径中。因此,如果您想要一个本地链接并且可以使用绝对路径,那么使用连接点可能更好;否则,考虑使用符号链接以获得其增强的功能。
*速度/复杂性差异的声明来自于NTFS重解析点的维基百科条目中未经验证的声明(值得一读)。
**自从Windows 10创作者更新以来,可以启用开发人员模式以删除NTFS符号链接的管理员限制。
其他NTFS链接比较
以下是一些涉及此主题的其他比较,但在考虑到连接点时可能会产生误导,因为它们没有列出我上面所列出的益处。
来自此处(一个不错的入门阅读)
术语注释
连接点是重解析点(可以描述为符号链接)
NTFS连接点和NTFS符号链接实际上以相同的方式执行相同的操作(重解析点),除了它们处理方式上的差异。事实上,从技术上讲,连接点是更一般意义上的“符号链接”,有时文档可能会将连接点称为符号链接,就像这里一样。在这种情况下,“符号链接”并不意味着NTFS符号链接,它与连接点不同(见下文)。
NTFS
尽管OP指定了这一点,但值得指出的是,“符号链接”是一个非常通用的术语,不特定于NTFS。因此,要具体说明,这个比较是关于NTFS连接点与NTFS符号链接的。
我认为下面这些地方对于区分的有用:
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支持对文件和目录进行符号链接。与联接点不同,符号链接还可以指向文件或远程Server Message Block(SMB)网络路径。此外,NTFS符号链接实现提供完全支持跨文件系统链接的功能。但是,启用跨主机符号链接的功能要求远程系统也支持它们,这实际上将其支持限制为Windows Vista和更高版本的Windows操作系统。
http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/
Windows创建的符号链接与目录联接非常相似,但与目录联接不同,它可以指向文件或远程网络文件或目录。目标可以定义为相对于符号链接位置的路径,也可以定义为当前卷或另一个卷中的绝对路径。还请注意,指向文件的符号链接与指向目录的符号链接不同,并且目标必须匹配定义。
/sys
)。 - kkm在Windows中,就功能而言,创建后两者并没有真正的区别。但是它们在所能做的事情上有显著的差异。Junction可以仅用于创建指向文件夹的链接,无论是在同一驱动器上还是不同的驱动器上,但前提是这些驱动器位于本地系统上(您不能创建指向网络文件夹的junction链接)。而Symbolic Link则没有同样的限制。Symbolic Link可用于链接到同一系统上的文件或文件夹(同一驱动器或不同驱动器)或网络共享,并且可以使用相对位置符号(“\\system2\foldera\file.txt”、“d:\foldera\file.txt”、“\\system2\foldera”、“d:\foldera”或“d:\foldera\folderb..”,最后两个示例的结果链接到相同的位置)。相对位置符号可以是“.”、“..”、“当前驱动器相对函数”(如果当前驱动器为c:,则指定“\tempa\folderb”会链接到c:\tempa\folderb),以及“当前目录相对”(如果当前目录为d:\foldera\folderb,则指定“d:file.txt”会链接到d:\foldera\folderb\file.txt)。
总之,Junction Points仅限于本地系统上的文件夹,而Symbolic Links可以创建链接到通过UNC路径访问的文件夹或文件,在如何指定这些位置方面更具灵活性。Symbolic Links基本上是Junction Points和Hard Links的更多功能替代品。另外,符号链接与Unix和Linux兼容,在创建跨平台UNC路径的链接时非常方便。
希望这样回答您的问题可以令您满意。已编辑以更正排版错误。
如果有人对 Windows 10 中 Windows 文件资源管理器中的行为差异感兴趣:
拖放到目标目录:
符号链接
:移动 符号链接
到目标目录联接
:移动 原始目录
到目标目录鼠标右键单击 + 属性:
符号链接
:显示快捷方式属性联接
:显示 原始目录
文件夹属性在左侧窗格(目录树)中单击鼠标左键:
符号链接
:选择 原始目录
联接
:选择 联接
Link Shell Extension,http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html,是一个非常好的工具,可以创建和查看许多类型的链接,并且有很好的文档。
[在完整安装后,如果您查看高级链接,则会添加新的属性选项卡。还会为各种链接类型添加图标叠加箭头。如果这些不显示,请滚动到常见问题解答部分;Windows仅支持13个叠加图标;他展示了一个注册表解决方法。它的信息有用性示例:试图获取您认为是文件夹但实际上是系统提供的连接点链接的特权,通常用于与旧版Windows兼容的目的,但未成功。]
连接点和符号链接在本地系统上创建为目录时基本相同。
然而:
它们在网络上的行为不同。该链接描述了这种行为:https://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link
如果你把连接点链接想象成“欺骗操作系统位置”的快捷方式,那么你就会有一个很好的实际比喻,了解它们的用途和可能导致它们失效的原因。主要区别在于,如果你复制符号链接或连接点链接,它会复制目标,而不仅仅是包含指针的文件(类似于快捷方式)。与快捷方式一样,您可以删除符号链接或连接点链接,而不必删除目标文件/文件夹。【硬链接只有在最后一个链接被删除(包括从回收站中删除)时才会删除文件。在LSE中查看这些链接的属性标签,以查看目标或硬链接的引用计数】
硬链接或快捷方式是唯一可以移动而不会产生副作用(如破坏或复制整个目标)的链接类型。移动目标始终会破坏链接,但可以在属性选项卡中轻松更新它们(使用LSE显示),或者如果复杂,可以使用LSE重新创建。
创建符号链接需要管理员权限,而联接则不需要。这表明Windows在处理联接时具有直观、预期的方式,并且内部OS广泛使用联接。但是,请注意系统文件夹可能会产生意外的副作用(根据Win 10的经验)。
Link Shell Extension中一些备份特定功能非常有用-简而言之,它可以在标准文件夹中创建几种可更新的符号链接结构,以进行待备份。
C:\Documents and Settings
现在是指向C:\Users
的链接。