本页使用了标题或全文手工转换

NTFS符号链接

维基百科,自由的百科全书
跳转至: 导航搜索

NTFS符号链接(Symbolic Link),又稱符號連結[2],是NTFS文件系统中指向文件系统中的另一个对象的一类对象。被指向的对象叫做“目标”。它们可以像普通文件一样操作,但所有对符号链接的操作都实际作用于目标对象。符号链接对用户而言是透明的,符号链接看上去和普通的文件和文件夹没有区别,操作方法也一模一样。NTFS符号链接的设计目的是为了和POSIX标准的操作系统兼容、並用來增進與舊版作業系統的相容性,它首次出现于Windows Vista

Windows 2000开始就有的NTFS连接点英语NTFS junction point[3],只能用于目录,且只能用于本地文件系统。而符号链接既可以指向本地文件,也可以指向远程SMB网络路径。NTFS连接点只支持本地驱动器的绝对路径,但NTFS符号链接允许使用相对路径。还有,NTFS符号链接允许跨文件系统使用,但是对于跨主机的符号链接,还需要远程机器也支持这一功能才行。

硬链接只能用于文件,不能用于目录。硬链接相当于一个实体文件有多个彼此平等的名字。删除一个文件名字后,还可以用其它名字访问该文件。硬链接只能用于同一个磁盘分区内的文件。硬链接不能用于空文件,而符号链接可以用于空文件或空目录。

命令及其参数[4][编辑]

在NT6内核的操作系统,例如Windows VistaWindows 7中,符号链接可以由命令mklink创建,mklink是cmd.exe的内部命令,语法如下:

mklink [[/D] | [/H] | [/J]] link target
  • /D –创建指向目录的符号链接,如果不指定此参数,默认为创建文件符号链接。
  • /H –创建硬链接(Hardlink),或稱永久連結[2]
  • /J –创建NTFS连接点英语NTFS junction point(Junction point)。
  • link –指定符号链接的名字
  • target –指定符号链接指向的对象的路径(相对或绝对皆可)。

和普通文件一样,删除符号链接也可以使用del命令,具体语法如下:

del filename
  • filename –要被删除的符号链接的名字

和普通目錄(資料夾)一样,删除目錄符号链接也可以使用rd命令,具体语法如下:

rd directoryname
  • directoryname –要被删除的符号链接的名字

需要提升為管理員權限才能建立符號連結。

复制链接的文件或目录时,使用copy /Lxcopy /B,可以复制这些符号链接,而不是复制文件或目录实体本身。

其他功能[编辑]

符号链接可以指向不存在的对象,在创建符号链接时,系统并不会检查对象是否存在。[5]

限制[编辑]

Windows操作系统启动时不支持符号链接。所以不应该对下列文件夹重定向:

  • 目录包含了hiberfil.sys (如果被配置在根目录以外)
  • \Windows
  • \Windows\system32
  • \Windows\system32\Config

Windows Installer不完整支持符号链接。对\Windows\Installer重定向会导致多数基于.msi的Windows installers失败报告error 2755 或 error 1632.

可以重定向下列目录:

  • \Documents and Settings
  • \ProgramData
  • \Program Files
  • \Program Files (x86)
  • \Users

但是对\Users与\ProgramData重定向不被推荐,因为会打破Windows Update与Windows Store Apps.[6]

內建符號連結的範例[编辑]

Windows Vista中預先建立了一些符號連結(Junction point),以增進與舊版作業系統(Windows XP)間的相容性,部分範例如下:

  • C:\Document and Settings → C:\Users(連接點)
  • C:\Users\All Users → C:\ProgramData(目錄符號連結)

参考资料與附註[编辑]

  1. ^ mklink on a technet.microsoft.com
  2. ^ 2.0 2.1 Windows Vista繁體中文版內所使用的名稱。
  3. ^ Junction Point在Windows繁體中文版內使用連接點的名稱。
  4. ^ mklink on a technet.microsoft.com
  5. ^ http://msdn.microsoft.com/en-us/library/aa365460(VS.85).aspx
  6. ^ Relocation of the Users directory and the ProgramData directory to a drive other than the drive that contains the Windows directory. 

外部链接[编辑]