结点和目录符号链接绝对不是一回事,虽然它们的行为类似。主要的区别在于,如果你看的是远程服务器,结是在服务器上处理的,而目录符号链接是在客户端处理的。也可以参考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. ”)
目录符号链接和文件符号链接的区别很简单,一个代表目录,一个代表文件。由于创建链接时,链接的目标不需要存在,所以文件系统需要知道是否告诉应用程序它是一个目录。
还需要注意的是,创建一个符号链接需要特殊的权限(默认情况下,只有高阶进程才能使用),而创建一个结点只需要访问文件系统。