1. mklink命令
打开cmd命令窗口,输入”mklink /?”,得到帮助信息
创建符号链接。
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件 符号链接。 /H 创建硬链接而非符号链接。 /J 创建目录联接。 Link 指定新的符号链接名称。 Target 指定新链接引用的路径 (相对或绝对)。
接下来依次对参数/D、/H、/J进行解释和测试
2. 创建软链接(符号链接,Symbolic Link) /d或无参数
当参数为/D时,为对文件夹添加软链接;当无参数时,为对文件添加软链接。
2.1 测试-为文件夹创建软链接
2.1.1 创建
文件夹位置:“G:\mklink测试\软链接\文件夹测试”
输入命令“mklink /d folderDLink 文件夹测试”
结果:在”G:\mklink测试\软链接”下产生一个指向”G:\mklink测试\软链接\文件夹测试”的软链接floderDLink
资源管理器中,图标左下角有一个箭头,与快捷方式相同;类型为文件夹。
占用空间:不占用空间。
注意:
- /D参数需要有管理员权限,否则会被提醒“你没有足够的权限执行此操作”
- 此处cmd窗口的工作目录为所创建硬链接文件夹的所在目录。使用管理员权限打开cmd窗口后,默认工作目录为”C:\WINDOWS\system32>”
- 命令的Link(指定新的符号链接名称)部分,可以为绝对路径,例如”mklink /D G:\mklink测试\软链接\folderDLink 文件夹测试”;或相对路径。当没有路径而只有软链接名称时,默认在当前工作目录下创建。
- 命令的Target(指定新链接引用的路径)部分,可以为绝对路径,也可以为相对路径。当Target为相对路径时,系统寻找目标文件夹的绝对地址为“Link(绝对/相对)地址的上一级 + Target的相对路径”。
2.1.2 移动
移动符号链接,若源文件夹以相对路径创建则不可通过符号链接继续访问源文件夹,若源文件夹以绝对路径创建则可通过符号链接继续访问源文件夹。
移动源文件夹,不可通过符号链接继续访问源文件夹。
2.1.3 删除
删除符号链接,不影响源文件夹。
删除源文件夹,不可通过符号链接继续访问源文件夹。
2.1.4 更名
更改符号链接的名字,可通过符号链接继续访问源文件夹。
更改源文件夹的名字,不可通过符号链接继续访问源文件夹。
2.1.5 修改
在符号链接与源文件夹中修改相同。
2.1.6 其他
dos窗口中使用”dir”命令后,符号链接的类型为”<SYMLINKD>“,名称显示为”folderDLink [文件夹测试]” ,方括号内为符号链接指向的源文件夹(相对/绝对地址)。
支持跨盘符建立符号链接。
2.2 测试-为文件创建软链接
2.2.1 创建
文件位置”G:\mklink测试\软链接”
输入命令”mklink fileDLink 文件测试.txt”
结果:在”G:\mklink测试\软链接”下产生一个指向”G:\mklink测试\软链接\文件测试.txt”的软链接fileDLink
资源管理器中,图标左下角有一个小箭头,与快捷方式相同。类型为.symlink。
大小:0字节;占用空间:0字节。
2.2.2 移动
移动符号链接,若源文件以相对路径创建则不可通过符号链接继续访问源文件夹,若源文件以绝对路径创建则可通过符号链接继续访问源文件。
移动源文件,不可通过符号链接继续访问源文件。
2.2.3 删除
删除符号链接,不影响源文件。
删除源文件,不可通过符号链接继续访问源文件。
2.2.4 更名
更改符号链接的名字,可通过符号链接继续访问源文件。
更改源文件的名字,不可通过符号链接继续访问源文件。
2.2.5 修改
在符号链接与源文件夹中修改相同。
2.2.6 其他
dos窗口中使用”dir”命令后,符号链接的类型为”<SYMLINK>“,名称显示为”folderDLink [G:\mklink测试\软链接\文件夹测试]” ,方括号内为符号链接指向的源文件(相对/绝对地址)。
支持跨盘符建立符号链接。
3. 创建硬链接(Hard Link) /h
只能对文件创建硬链接,不可为文件夹创建硬链接。
3.1 测试-为文件创建硬链接
3.1.1 创建
文件夹位置:“G:\mklink测试\硬链接”
输入命令“mklink /h fileHLink.txt 文件测试.txt”
结果:在”G:\mklink测试\硬链接”下产生一个指向”G:\mklink测试\硬链接”的软链接fileHLink
资源管理器中,图标和类型与源文件相同。
虽然资源管理器中显示硬链接占用空间,但是实际上,硬链接和源文件只想同一块存储空间,硬链接是源文件的另一个入口,因此硬链接不占用空间。
3.1.2 移动
移动源文件和硬链接都可以继续访问文件内容。
3.1.3 删除
删除硬链接或源文件都不会影响访问文件内容。只有删除源文件和全部的硬链接才能真正删除
3.1.4 更名
对硬链接和源文件更名都不会影响访问文件内容。
3.1.5 修改
对硬链接和源文件内容的修改相同。
3.1.6 其他
dos窗口中使用”dir”命令后,硬链接与源文件的类型的大小显示相同。
不可跨磁盘或文件系统建立硬链接。
创建无需管理员权限。
4. 创建目录联接(Junction) /j
只能对文件夹创建目录联接,不能对文件创建目录联接
4.1 测试-为文件创建目录联接
4.1.1 创建
文件夹位置:“G:\mklink测试\目录联接\文件夹测试”
输入命令“mklink /j folderJLink 文件夹测试”
结果:在”G:\mklink测试\软链接”下产生一个指向”G:\mklink测试\软链接\文件夹测试”的软链接floderJLink
资源管理器中,图标左下角有一个箭头,与快捷方式相同;类型为文件夹。
虽然显示占用空间,但实际上并不占用空间。
4.1.2 移动
目录联接不可移动。源文件夹移动后不可通过目录联接继续访问。
4.1.3 删除
删除目录联接不会影响源文件夹。删除源文件夹后无法再通过目录联接继续访问。
4.1.4 更名
更改目录联接的名字,可通过符号链接继续访问源文件夹。
更改源文件夹的名字,不可通过目录联接继续访问源文件夹。
4.1.5 修改
在目录联接与源文件夹中修改相同。
4.1.6 其他
dos窗口中使用”dir”命令后,符号链接的类型为”<JUNCTION>“,名称显示为”folderJLink [G:\mklink测试\目录联接\文件夹测试]” ,方括号内为目录联接指向的源文件(绝对地址)。
可跨磁盘,但是不能链接网络上的资源。
JUNCTION 建立时可以用相对路径,但记录的是绝对路径。
5. 参考文献