mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具。使用它需要管理员权限。
作用:比如我C盘快满了,安装某个软件必须把文件存到C盘某个目录,就可以在C盘创建一个连接,真实的文件存在其他盘。
一、语法: mklink
二、例子:
创建一个软连接 G:\Geth 连接到目录 H:\tools 上去:
mklink /j G:\Geth H:\tools
创建一个软连接 G:\Geth 连接到目录 H:\tools 上去:
mklink /d G:\Geth H:\tools
创建一个硬连接 G:\Geth 连接到目录 H:\tools 上去:
mklink /h G:\Geth H:\tools
三、区别。
1、/D(目录符号链接)和/J(目录联接)的区别。
/J在创建时会自动指向原目录的绝对路径,而/D链接允许相对路径的引用。
例如:指向命令 mklink /D dird testdir 和 mklink /J dirj testdir 之后。
将链接dird 、dirj 移动到其它目录下,则访问 dird 时会提示“位置不可用”,访问 dirj 时仍然正常指向 testdir ;
2、硬链接(/h)和符号链接(/D、/J)的区别:
- 和符号链接一样,硬链接中所做的任何修改,都会自动应用到目标文件上。但是硬链接具有以下一些不同的地方。
- 硬链接必须引用同一个分区或者卷中的文件(也就是同一个盘中),而符号链接可以指向不同分区或者共享文件夹上的文件或者文件夹。
- 硬链接只能引用文件,而符号链接可以引用文件或者文件夹。
- Windows会自动维护硬链接,即使把硬链接复制到其他文件夹,硬链接和目标都可以继续访问。
- 删除目标文件,硬链接可以继续保留。只有把目标文件和所有的硬链接都删除,才能把该文件彻底删除。
- 如果win7把软链接的目标文件删除,然后用一个同名文件替换,则符号链接会指向新的目标文件;而把硬链接的目标文件删除’再用同名文件替换,则硬链接还是会继续引用原始文件。
- 对硬链接进行NTFS权限的修改,会同时影响到目标文件(因为两者等价),而符号链接和目标文件可以设置不同的NTFS权限。
也就是说,硬链接和目标文件的地位相等。事实上,原始的目标文件本身也相当于硬链接,新建硬链接,只是相当于增加一个目录路後而已。硬链接看上去和真的文件一模一样(实际上就是真实的文件),不像符号链接那样有一个快捷方式的小箭头,但是硬链接并不会增加磁盘空间的占用。