比较

比较

系统内部有一个程序连接点创建连接点(又名。重新解析点,又名符号链接)在 Windows 中。

然而,Windows 还附带了一个链接似乎做了同样的事情。

有显著差异吗?

我倾向于相信,如果 SysInternals 有自己的程序,他们就会发现标准 MKLink 程序存在缺陷。

答案1

比较

Mark Russinovich 的junction程序在设计时就考虑到了一个特定的目标:创建(和删除)连接点。多年来,它一直得到维护,但迄今为止没有添加任何新功能。最新版本于 2016 年 7 月 4 日发布。

至于mklink,它是 Windows Vista 及更高版本中提供的内置命令。它可以创建硬链接、连接点和符号链接。没有提供特定的删除功能;您可以简单地使用delrd命令,具体取决于链接分别指向文件还是目录。


历史回顾

在 Vista 之前,Windows 操作系统没有提供开箱即用的创建连接点的方法:你要么必须获得官方资源套件,使用第三方程序,或者自己编写一个。

2000

该工具的第一个版本junction已经发布。引用官方网站的话:

Windows 2000 及更高版本支持目录符号链接,其中一个目录可作为计算机上另一个目录的符号链接。[...]

不幸的是,Windows 没有提供用于创建连接点的工具 — 您必须购买 Win2K 资源工具包,该工具包附带了linkd用于创建连接的程序。因此,我决定编写自己的连接点创建工具:连接点

来源:连接点

2005-06

mklink命令是在 Windows Vista 的早期测试阶段引入的。

它自 2005 年 7 月 27 日发布官方 Beta 1 版起就已可用。最初它只能创建符号链接和硬链接;创建连接点的能力后来随着 2005 年 12 月 19 日发布的社区技术预览版 (CTP) 而出现。

显然,这个命令直到 2006 年晚些时候才首次被披露,人们才注意到它。这是我能找到的最早的参考资料:

您现在可以在 Windows Vista 中创建符号链接。

C:\test>ver

Microsoft Windows [Version 6.0.5365]

C:\test>mklink
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target
 
[...]

来源:Windows Vista 中的符号链接

还:

Malcolm [MSFT](专家):
问:有没有真正简单的方法来创建符号链接?
A:打开 CMD,然后输入“mklink”。此工具将允许您创建连接、硬链接和符号链接。

来源:NTFS Beta 聊天记录(2006 年 7 月 12 日)


附加信息

文件或目录可以包含重解析点,即用户定义的数据的集合。存储数据的应用程序和文件系统过滤器可以理解这些数据的格式,您可以安装文件系统过滤器来解释数据并处理文件。

例如,重新解析点用于实现 NTFS 文件系统链接和 Microsoft 远程存储服务器 (RSS)。

来源:重新解析点

NTFS 文件系统支持三种类型的文件链接:硬链接、连接和符号链接。

来源:硬链接和连接点

硬链接

硬链接是文件系统中文件的表示形式,通过它,同一卷中的多个路径可以引用单个文件。[...] 对该文件的任何更改都会立即被通过引用该文件的硬链接访问它的应用程序看到。但是,目录条目大小和属性信息只会针对进行更改的链接进行更新。

来源:硬链接和连接点

连接点

连接点(也称为软链接)与硬链接的不同之处在于,它引用的存储对象是单独的目录,并且连接点可以链接位于同一台计算机上不同本地卷上的目录。

来源:硬链接和连接点

连接点只能链接到本地​​卷上的目录;不支持到远程共享的连接点。

来源:NTFS 连接点

符号链接

符号链接是指向另一个文件系统对象的文件系统对象。指向的对象称为目标。

符号链接对用户是透明的;链接显示为普通文件或目录,并且可以由用户或应用程序以完全相同的方式对其进行操作。

来源:符号链接

[符号链接] 是在对 NTFS 文件系统进行修改时引入的Windows Vista,但可通过过滤驱动程序获得Windows XP

NTFS 连接点(自 Windows 2000 起可用),符号链接也可以指向文件或远程中小企业网络路径。虽然 NTFS 连接点仅支持本地驱动器上的绝对路径,但 NTFS 符号链接允许使用相对路径进行链接。

Windows Vista 中的默认安全设置/Windows 7的禁止非提升权限的管理员和所有非管理员创建符号链接。

来源:NTFS 符号链接

进一步阅读

答案2

正如评论中提到的那样,junction.exe它是在 Vista/Winserver 2008 之前发布的,附带了该mklink命令。

因此在 Vista 及以上版本上使用它毫无意义。比 Vista 更早的 Windows 版本已不再受支持。

此外,junction.exe不支持NTFS 符号链接(仅有的NTFS 连接) 是 Vista/WinServer 2008 和mlink命令中引入的。

相关内容