小命令大作用:mklink

简介

E:\temp>mklink /?
创建符号链接。

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

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

/D和/J

两种效果相同,都是对目录创建符号链接,相当于软链接。效果相当于创建快捷方式。但一旦源目录名修改,快捷方式即失效。

演示如下:

E:\temp>mkdir dir1

E:\temp>mklink /d dir2 dir1
为 dir2 <<===>> dir1 创建的符号链接

E:\temp>mklink /j dir3 dir1
为 dir3 <<===>> dir1 创建的联接

E:\temp>dir
 驱动器 E 中的卷是 软件
 卷的序列号是 2551-33F3

 E:\temp 的目录

2018/04/09  18:54              .
2018/04/09  18:54              ..
2018/04/09  18:53              dir1
2018/04/09  18:54         dir2 [dir1]
2018/04/09  18:54         dir3 [E:\temp\dir1]
               0 个文件              0 字节
               5 个目录 69,970,747,392 可用字节
小命令大作用:mklink_第1张图片

dir执行命令结果来看:

  1. mkdir 创建的目录为类型
  2. mklink /d 创建的符号链接为类型
  3. mklink /j 创建的符号链接为类型

区别在于/D为相对路径,/J为绝对路径。所以,如果把dir2、dir3移动到其他目录,dir2就无法访问dir1目录了,提示位置不可用。但dir3却可以依然访问dir1。(PS:使用move命令可以移动dir2,dir3)

如果使用/D创建符号链接,且指定的Target为绝对路径,则/D/J的效果是一致的。
比如:执行mklink /D dir4 E:\temp\dir1

从下图中我们也可一窥究竟:

小命令大作用:mklink_第2张图片

/H

只能对文件来创建硬链接。相当于文件拷贝,占用两份相同内存。二者之间存在映射,修改任一文件内容都会反映到原始文件。即使将文件名修改后,再继续修改文件内容,依然会同步到另一文件。可以理解/H创建的硬链接再二者之间建立了强的映射关系,不因文件名改变而改变。

E:\temp>mklink /H 22.txt 2.txt
为 22.txt <<===>> 2.txt 创建了硬链接
小命令大作用:mklink_第3张图片
二者占用相同空间

那我们也可以为文件创建软链接,mklink 11.txt 1.txt

小命令大作用:mklink_第4张图片

应用

Webserver的快速启动和热更新

你可能感兴趣的:(小命令大作用:mklink)