MKLINK 与 Junction.exe

abe*_*nky 28 windows-7 junction sysinternals

SysInternals有一个程序junction.exe,可以在Windows中创建连接点(又名。重新分析点,又名。符号链接)。

但是,Windows 还带有一个mklink,它似乎可以做同样的事情。

有显着差异吗?

我倾向于认为,如果 SysInternals 有自己的程序,他们就会看到标准 MKLink 程序的不足。

and*_*415 45

比较

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

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


一点历史

在 Vista 之前,Windows 操作系统没有提供开箱即用的创建连接点的方法:您要么必须获得官方Resource Kit的副本、使用第三方程序,要么自己编写一个。

2000年

junction工具的第一个版本已发布。引用官网:

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

不幸的是,Windows 没有提供用于创建连接的工具——您必须购买 Win2K Resource Kit,它与linkd创建连接的程序一起提供。因此,我决定编写自己的连接创建工具:Junction

资料来源:交界处

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
 
[...]
Run Code Online (Sandbox Code Playgroud)

来源:Windows Vista 中的符号链接

还:

Malcolm [MSFT](专家):
问:有没有一种非常简单的方法来制作符号链接?
A:打开CMD,输入'mklink'。该工具将允许您创建连接、硬链接和符号链接。

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


附加信息

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

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

资料来源:重新分析点

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

资料来源:硬链接和连接点

硬链接

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

资料来源:硬链接和连接点

路口

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

资料来源:硬链接和连接点

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

来源:NTFS 连接点

符号链接

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

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

来源:符号链接

[符号链接] 是在Windows Vista 中对 NTFS 文件系统所做的修改中引入的,但可通过Windows XP 的过滤器驱动程序使用。

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

Windows Vista/ Windows 7 中的默认安全设置不允许非高级管理员和所有非管理员创建符号链接。

来源:NTFS 符号链接

进一步阅读

  • 注意:有“文件”符号链接(由普通的 `mklink` 创建,无论目标类型如何)和“目录”符号链接(由 `mklink /d` 创建)。最好为目标创建正确类型的链接。 (2认同)