技术笔记

创建软链接和硬链接

在 Windows 上

mklink 只能在 CMD 下使用。PowerShell 中没有这个命令,需要先进入 CMD 再使用。PowerShell 中用 New-Item 创建链接,通常需要管理员权限。

创建软链接:

New-Item -ItemType SymbolicLink -Path C:\image -Target C:\source.txt

创建硬链接:

New-Item -ItemType HardLink -Path C:\image.txt -Target C:\source.txt

CMD 下使用 mklink,创建时一般需要管理员权限。

MKLINK [[/D] | [/H] | [/J]] Link Target

/D      创建目录符号链接。默认为文件符号链接。
/H      创建硬链接而非符号链接。
/J      创建目录联接。
Link    指定新的符号链接名称。
Target  指定新链接引用的路径,可以是相对路径或绝对路径。

创建目录符号链接:

mklink /D C:\Users\Username\LinkToFolder C:\Users\Username\OriginalFolder

创建硬链接:

mklink /H C:\Users\Username\HardLinkToFile.txt C:\Users\Username\OriginalFile.txt

在 Linux 上

使用 ln。前面的是目标,后面的是链接名。软链接使用 -s。

ln -s [目标文件或目录] [链接名]

目录已经存在时,可以使用 -f 强制覆盖。

硬链接直接创建。硬链接不能跨硬盘,也不能跨文件系统。

ln [目标文件] [链接名]

参考资料: