Symbolic Link

Symbolic Link

Windows

# 硬连接。仅支持 NTFS 分区。仅能用于文件。不能跨驱动器
mklink /H Link Target

# 目录联接(Junction Point)。仅用于文件夹。可以跨驱动器,但仅限本地计算机路径。不能链接到相对路径(可以使用相对路径创建,但创建完即变成绝对路径)。通常推荐使用这个。
mklink /J Link Target

# 符号链接(Symbolic Link)。仅用于文件夹。可以跨驱动器,可以链接网络路径。可以链接到相对路径。
mklink /D Link Target
  • 注意 mklink 的两个路径参数顺序与 Linux 的 ln 刚好相反。ln 参数是源文件在前,创建的链接在后。
  • 硬链接创建的是普通文件,但不会多占用一份空间。删除用 del 正常删除文件即可。
  • 目录联接兼容性较好。
  • 符号链接最灵活,但兼容性最差。不兼容的程序会把符号链接看作一个0字节普通文件。
  • 删除目录联接和符号链接用 rd 命令。

已知程序对 Windows 各种符号链接的兼容性:

  • Windows Explorer: 实测有些情况下对目录联接( /J ) 处理仍然有问题!
  • samba (windows) : 能够识别samba服务器里的目录联接( /J )。不能识别符号链接( /D ),打开时会报错。
  • sshfs-win 挂载 Windows 10 自带的 openssh server: 能够识别 Windows 10 服务器端的目录联接( /J )(显示为文件夹),不能识别符号链接( /D )(显示为文件)。

Last update: 2021-04-15 04:14:47 UTC