Windows下创建符号链接使用命令mklink
1. 查看mklink指令
mklink指令属于Windows中cmd的内置指令,我们可以使用cmd查看mklink的语法和功能介绍。
点击“搜索”图标,搜索“cmd”或“命令提示符”,点击“以管理员身份运行”打开cmd命令提示符,
输入 mklink
指令,按下回车键后,即可查看语法和功能介绍。
mklink指令的语法
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件
符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径
(相对或绝对)。
例子:我在 C:\Users\WeberZhou\.vscode\extensions
创建符号链接(软链接),指向文件真正所在路径 D:\Microsoft VisualStudioCode\VScode Extensions\
。
<span style="color:#000000"><span style="background-color:#fafafa"><code>mklink /D "C:\Users\WeberZhou\.vscode\extensions" "D:\Microsoft VisualStudioCode\VScode Extensions\"
</code></span></span>
- 1
注意:i)各个参数之间必须要有一个空格隔开。
ii)每个路径都必须要使用英文(半角)双引号将路径括起来。
iii)建议使用绝对路径。
3. 关于参数 /d /h /j 的介绍
参数区别:
① /d
为目录创建符号链接,属于软链接,允许相对路径或绝对路径的链接;
② /h
为文件创建硬链接,属于硬链接;
③ /j
为目录创建联接点,属于软链接,只能是绝对路径的链接。
④当没有上面3个命令符时,默认的是为文件创建符号链接!文件类型:.symlink
(Symbolic Link)。
比如,分别创建C:\data\tmp的符号链接C:\1和软链接C:\2,那么C:\1指向的就是同级文件夹下的data文件夹下的子文件夹tmp,而C:\2指向的是C:\data\tmp这样的绝对路径。影响就是,如果把C:\1和C:\2这两个文件夹移动到d盘,那D:\1的链接就失效了,而D:\2仍然有效。
文件的硬链接是对文件创建的链接,比如对C:\data\1.txt创建链接C:\data\2.txt,那么这两个文件就是同一个文件的两个等价别名了,相当于是指向同一个硬盘存储空间的两个指针,删除其中任何一个都不影响另一个文件。但是限制就是这种链接不能跨分区。
常用参数有 /D /J,两者有比较明显的区别
区别1:创建
/D 创建目录符号链接(即目录快捷方式)而不是文件符号链接(默认为文件符号链接),可以使用相对路径方式创建
/H 创建硬链接而不是符号链接
/J 创建目录连接点,必须绝对路径方式创建
区别2:复制和剪切
复制
/D /J 均生成源目录的内容副本,变为一般文件夹
剪切
/D 生成的目录,移动到其他地方,仍旧保持链接,对源目录无影响,/D生成的目录消失
/j 生成的目录,移动到其他地方,会产生一个新的普通文件夹,源文件夹内容全部移至新普通文件夹内,源文件夹内所有文件被清空,源文件夹仍旧存在,/J生成的目录也依旧存在,只是也已清空