2011-10-05 03:28:14 +0000 2011-10-05 03:28:14 +0000
412
412
Advertisement

"目录结点 "VS "目录符号链接"?

Advertisement

在NTFS的上下文中:

MKLINK [[/D] | [/H] | [/J]] Link Target* /D* 创建一个目录符号链接。 /H* 创建一个硬链接,而不是符号链接。 /J* 创建一个目录连接。
Link*指定新链接所指向的路径(相对或绝对)。

1.一个目录结点和一个目录符号链接不是完全一样吗? 2.因为 “目录 "实际上只是一个 "目录",所以 "目录 "只是一个符号链接。既然 "目录 "实际上只是一个_文件,那么目录符号链接和文件符号链接会有什么区别呢?

Advertisement

答案 (3)

382
382
382
2011-10-05 03:43:56 +0000

结点和目录符号链接绝对不是一回事,虽然它们的行为类似。主要的区别在于,如果你看的是远程服务器,结是在服务器上处理的,而目录符号链接是在客户端处理的。也可以参考Matthew的评论,这意味着本地文件系统上的符号链接可以指向远程文件系统。

假设在一个名为Alice的机器上,你要把一个结点c:\myjp和一个目录符号链接c:\mysymlink,都指向c:\targetfolder。当你在使用Alice的时候,你不会注意到它们之间有什么区别。但如果你使用的是另一台名为Bob的机器,那么连接点

\Alice\c$\myjp将指向\Alice\c$\targetfolder

\Alice\c$\mysymlink,但符号链接

\Bob\c$\targetfolder将指向&007

(注意:在默认情况下,系统不会跟踪远程卷上的符号链接,所以在大多数情况下,第二个例子实际上会导致“File Not Found”“The symbolic link cannot be followed because its type is disabled. ”)

目录符号链接和文件符号链接的区别很简单,一个代表目录,一个代表文件。由于创建链接时,链接的目标不需要存在,所以文件系统需要知道是否告诉应用程序它是一个目录。

还需要注意的是,创建一个符号链接需要特殊的权限(默认情况下,只有高阶进程才能使用),而创建一个结点只需要访问文件系统。

65
65
65
2015-10-22 19:03:16 +0000

复杂的话语会伤脑筋—-我喜欢看图:

假设任何MyLink是一个符号链接,任何MyJunc是指向Target as created的结点。

mklink /D MyLink C:\T_Dir用于创建一个指向目标目录的符号链接

mklink /J MyJunc C:\T_Dir用于创建一个指向目标目录的目录结点

这里的语法是在本地机器上键入的mklink [/J,/D] [link path] [target path] * * * * * * * *

link path | target path | When accessed ..
              | | (locally) | (remotely)
              | | |
C:\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
C:\MyJunc | C:\T_Dir | C:\T_Dir | [leads to remote]
              | |
\Svr\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
\Svr\MyJunc | C:\T_Dir | ***Must create and point local***
              | |
C:\MyLink | \Sv2\T_Dir | \Sv2\T_Dir | Error*1
C:\MyJunc | \Sv2\T_Dir | ***Error - Must point local***
              | |
\Svr\MyLink | \Sv2\T_Dir | Error*1
\Svr\MyJunc | \Sv2\T_Dir | ***Must create link using target device***

错误*1 - 如果你在本地机器上解封了远程符号链接,那么这个方法就可以………..但只能在本地机器上解封

55
Advertisement
55
55
2018-02-02 16:30:06 +0000

符号链路具有更多的功能,而结点由于其局限性,几乎似乎是一个遗留的功能,但这些局限性所带来的安全影响正是为什么结点可能比符号链路更受欢迎的原因。**远程定位使符号链接的功能更多,但也提高了它们的安全系数,而结点可能被认为更安全,因为它们被限制在本地路径上。所以,如果你想要一个本地链接,并且可以使用绝对路径,你最好使用junction;否则,考虑使用符号链接,因为它有更多的功能。 *

  • * * * * 其他的NTFS链接比较

这里有一些关于这个主题的其他比较,但这些在考虑连接时可能会有误导性,因为它们没有列出我上面列出的好处。 除了上面提到的处理方式的不同之外。事实上,从技术上讲,Junction是一个符号链接,有时候文档中可能会把Junction称为符号链接,就像这里的情况。所以,这只是一些需要注意的术语。

NTFSNTFS_

尽管OP中明确指出了这一点,但值得指出的是,"符号链接 “是一个非常笼统的术语,并不是NTFS所特有的。所以,具体来说,这个比较是关于NTFS Junctions和NTFS symbolic Links的比较。

Advertisement