Linux上的符号链接相信很多小伙伴都很熟悉,但Windows上的符号链接很少出现。 Windows系统上的所有符号链接都称为“NTFS符号链接”,它是一种指向NTFS文件系统中另一个对象的对象,称为“目标”,其作用是在NTFS文件系统中创建文件或目录的链接。
符号链接的设计目的是为了提高兼容性,首次出现在Windows Vista中,由于较晚的更新时间和当时已经存在“快捷方式”,所以用户并不太了解。 简单来说,符号链接就像一个快捷方式。 但是,快捷方式仅在Windows资源管理器中识别为目录或文件,在其他系统或程序看来只是. link文件。 符号链接在系统中不占用空间,但其他文件系统和程序可以识别并修改。 对符号链接对象的更改与修改目标文件(源文件)相同。
符号链接的具体实现方法是通过命令提示符cmd.exe的mklink命令实现的。 在管理员模式下运行。 在PowerShell中,可以敲击CMD进入CMD,然后使用mklink命令。 让我们一点一点地了解如何使用mklink命令创建符号链接。 首先在菜单屏幕中找到“CMD”,右键单击并以管理员身份运行,就可以以管理员身份启动CMD。
mklink命令通过指定参数可以建立出不同形式的文件或目录链接,分为硬链接(hard link)、符号链接(symbolic link)和软链接(联接)(junction)三种。
1.符号链接(symbolic link)
建立一个软链接相当于建立一个文件(或目录),这个文件(或目录)用于指向别的文件(或目录),和win的快捷方式有些类似。删除这个链接,对原来的文件(或目录)没有影像没有任何影响;而当你删除原文件(或目录)时,再打开链接则会提示“位置不可用”。
2.软链接(联接)(junction)
作用基本和符号链接类似。区别在于,软链接在建立时会自动引用原文件(或目录)的绝对路径,而符号链接允许相对路径的引用。
3.硬链接(hard link)
建立一个硬链接相当于给文件建立了一个别名,例如对1.TXT创建了名字为2.TXT的硬链接,若使用记事本对1.TXT进行修改,则2.TXT也同时被修改,若删除1.TXT,则2.TXT依然存在,且内容与1.TXT一样。
建立链接请注意:
1、建立文件或目录链接限于 NTFS 文件系统,符号(软)链接的建立可以跨文件系统;
2、硬链接只能用于文件,不能用于目录,符号(软)链接可以为目录建立链接;
3、硬链接只能建立同一分区内的文件指向;
4、硬链接不允许对空文件建立链接,符号(软)链接可以。
Mklink的参数定义
无参数指定:建立文件的符号链接。无参数指定的默认情况下,建立的是文件的符号链接,删除链接文件不会影响源文件,
/d:建立目录的符号链接符号链接(symbolic link)
/j:建立目录的软链接(联接)(junction)
/h:建立文件的硬链接(hard link)
命令格式:mklink /d(定义参数) \MyDocs(链接文件) \Users\User1\Documents(原文件)
最后,至于删除建立的链接,跟删除文件一样使用”DEL”命令。
Mklink命令用途
转移系统中的用户设置文件
Windows 7中将用户设置与系统文件分离,所有的用户设置及用户文件都存储在C盘下的User目录(在中文版Windows 7中显示为“用户”目录),重装系统后所有的系统设置及用户文件都会消失。
Windows 7安装完成后可以将C盘下的User目录转移到非系统分区,如D盘,这样,重装系统后只要重新将C盘下的User目录链接到D盘即可。我们在创建链接后系统在访问C:/User目录其实是在访问D:/User目录。
命令如下:
1.复制User目录到D盘: robocopy “C:\Users” “D:\Users” /E /COPYALL /XJ
2.强制删除User目录: rmdir “C:\Users” /S /Q
3.创建C盘下的User的软件链接,链接到D盘User目录:mklink /J “C:\Users” “D:\Users”
重装系统后只需重复第二条和第三条命令及可