win7下的mklink命令【 软连接 符号链接】

上传人:小** 文档编号:89128030 上传时间:2019-05-19 格式:DOC 页数:7 大小:23.50KB
返回 下载 相关 举报
win7下的mklink命令【 软连接  符号链接】_第1页
第1页 / 共7页
win7下的mklink命令【 软连接  符号链接】_第2页
第2页 / 共7页
win7下的mklink命令【 软连接  符号链接】_第3页
第3页 / 共7页
win7下的mklink命令【 软连接  符号链接】_第4页
第4页 / 共7页
win7下的mklink命令【 软连接  符号链接】_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《win7下的mklink命令【 软连接 符号链接】》由会员分享,可在线阅读,更多相关《win7下的mklink命令【 软连接 符号链接】(7页珍藏版)》请在金锄头文库上搜索。

1、win7下的mklink命令【软连接符号链接】win7下的mklink命令【软连接/符号链接】2010-10-2117:22巧用mklink.exe实现系统和用户文件的分区存放用了近两个月的Windows7最终没经得起我的折腾,挂掉了。桌面、我的文档、我的图片等等,尤其是软件的配置,一切都没了。很多来不及转移的资料都没了,颇为心痛!从Vista以后,微软将用户文件和用户的软件配置(AppData)明确划分开,并且全部存放在使用者的用户目录下。Linux早已这样做了,并且在Linux中可将home挂载为独立分区,而微软显然还没学到家。用户目录依旧和系统目录一起放在同一分区。如何将用户目录移动到非

2、系统分区?这是本文的出发点。但本文的重心不在于此,而是mklink,一个命令。一、何为mklinkmklink是何方神圣,值得专门作文讲述?如果用过Linux,那想必也看到过符号链接(这是一种特殊的文件),也用过ln这个链接命令,mklink和ln的功能几乎一样。mklink便是用来创建符号链接的,这个命令并不知名,使用的人也不多。自从Vista以后,微软便在widows中偷偷地用起了这个工具。在用户目录下,可以看到很多很像快捷方式的文件,当然这是隐藏的,但却不能打开,其实这便是符号链接。dirC:Userswclu/a驱动器C中的卷是win7卷的序列号是8CD0-A743C:Userswcl

3、u的目录2009/06/1111:42DIR.2009/06/1111:42DIR.2009/06/1100:04DIRAppData2009/06/1100:04JUNCTIONApplicationDataC:UserswcluAppDataRoaming2009/06/1100:04DIRContacts2009/06/1100:04JUNCTIONCookiesC:UserswcluAppDataRoamingMicrosoftWindowsCookies2009/06/1110:05DIRDesktop2009/06/1100:04DIRDocuments2009/06/1102:4

4、4DIRDownloads2009/06/1100:04DIRFavorites2009/06/1100:04DIRLinks2009/06/1100:04JUNCTIONLocalSettingsC:UserswcluAppDataLocal2009/06/1100:04DIRMusic2009/06/1100:04JUNCTIONMyDocumentsC:UserswcluDocuments上述标红色的文件,便是符号链接了(上述文件并非C:Userswclu目录下全部文件)。Vista/Windows7使用这些符号链接,是为了兼容XP等系统。二、mklink用法mklink只能在命令提示符

5、CMD中使用。mklink/?创建符号链接。MKLINK/D|/H|/JLinkTarget/D创建目录符号链接。黙认为文件符号链接。/H创建硬链接,而不是符号链接。/J创建目录联接。Link指定新的符号链接名称。Target指定新链接引用的路径(相对或绝对)。注:上述的符号链接等同于Linux中的软链接。为了试验mklink的功能,我在C分区中创建目录a,并在目录中存放文件1.txt。创建文件链接E:mklinkc:c:a.txt拒绝访问。E:mklinkc:.txtc:a.txt为c:.txt=c:a.txt创建的符号链接可见为文件创建链接时,符号链接文件的扩展名要和原文件保持一致。E:m

6、klinkc:a.txtd:.txt当文件已存在时,无法创建该文件。E:mklinkd:.txtc:a.txt为d:.txt=c:a.txt创建的符号链接可见为文件创建链接时,必须是mklink符号链接文件名原文件名的格式。创建目录链接E:mklink/dc:bd:a为c:b=d:a创建的符号链接虽然d:a目录不存在,但依然可以创建链接,很好很强大。但打开链接时,提示错误。E:mklink/dd:ac:a为d:a=c:a创建的符号链接E:dird:/a驱动器D中的卷是soft卷的序列号是BE86-8884D:的目录2009/06/1110:00DIR$RECYCLE.BIN2009/06/11

7、13:08SYMLINK3.txtc:a.txt2009/06/1113:18SYMLINKDac:a2009/06/1112:54DIRProgramFiles2009/06/1109:58DIRSystemVolumeInformation1个文件0字节4个目录31,089,442,816可用字节当把D分区中的链接文件删除时,C分区中的文件和文件夹不受任何影响。三、mklink/d与makelink/j的异同从mklink的帮助中可以看到,两者皆可以创建目录链接。细心的同学可以发现,前者是创建目录链接,而后者是创建目录联接。一字之差,有何分别?下面分别用这两种方式为同一目录创建链接:E:m

8、klink/jd:ac:a为d:a=c:a创建的联接E:mklink/dd:bc:a为d:b=c:a创建的符号链接下面显示D分区中的文件及目录列表:E:dird:/a驱动器D中的卷是soft卷的序列号是BE86-8884D:的目录2009/06/1110:00DIR$RECYCLE.BIN2009/06/1113:33SYMLINK1.txtc:a.txt2009/06/1113:34JUNCTIONac:a2009/06/1113:35SYMLINKDbc:a2009/06/1112:54DIRProgramFiles2009/06/1109:58DIRSystemVolumeInforma

9、tion1个文件0字节5个目录31,089,442,816可用字节mklink不加参数或加参数/d时,创建的链接文件为SYMLINK型(SYMLINKD代表链接到目录)。当加参数/j时,只能为目录创建联接,并且创建的联接文件为JUNCTION型,两种类型的链接文件有显著区别:从最开始的dirC:Userswclu/a可以看出,微软自家使用的都是JUNCTION型,至于为何,留待考证。四、链接文件的特性刚刚讲述了如何用mklink创建链接文件,那么接下来重点讲述如何链接文件的特性,既然是特性,那就是与众不同了。符号链接文件自身不能被复制(只能通过特殊方法才能复制)当复制符号链接文件时,会将符号链

10、接所链接的目标文件或目录进行复制,并非是复制符号链接文件本身。如何实现符号链接文件的复制呢?copy/?/L如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。xcopy/?/B对照链接目标复制符号链接本身/*d:.txt为SYMLINK型符号链接*/E:xcopyd:.txte:.txt/b目标E:.txt是文件名还是目录名(F=文件,D=目录)?FD:.txt复制了1个文件/*d:a为JUNCTION型符号链接*/E:xcopyd:ae:a/B目标E:a是文件名还是目录名(F=文件,D=目录)?D复制了0个文件/*d:b为SYMLINKD型符号链接*/E:xcopyd:be:b

11、/B目标E:b是文件名还是目录名(F=文件,D=目录)?D复制了0个文件E:dire:/a驱动器E中的卷是data卷的序列号是FEEE-FB51E:的目录2009/06/1110:00DIR$RECYCLE.BIN2009/06/1113:33SYMLINK1.txtc:a.txt2009/06/1113:34DIRa2009/06/1113:35SYMLINKDbc:a2009/06/1109:58DIRSystemVolumeInformation1个文件0字节4个目录31,362,203,648可用字节可见采用xcopy命令并上参数/B,可以成功复制SYMLINK型的符号链接文件,而JU

12、NCTION型链接却不能被复制。符号链接文件的透明性符号链接的操作是透明的:对符号链接文件进行读写的程序会表现得直接对目标文件进行操作。普通的文件操作命令(如cp、rm等)都能直接作用于符号链接。用于读写文件内容的命令将会直接访问目标文件。五、使用mklink实现用户目录的移动前面说过本文的出发点是移动用户目录到非系统分区,想起以前中学写作文,很强调首尾照应,那么,照应来了。如何通过mklink实现vista/windows7中用户目录的移动?可参考以下两篇文章:引用其中部分内容,也即是具体步骤:在计算机管理里把Administrator用户激活,注销后用Administrator登录;把C:

13、Users我的用户名整个目录移到其它盘上,假设移到D:我的用户名;用mklink创建目录链接:mklink/dC:Users我的用户名D:Users我的用户名;重新登录你自己的帐号,大功告成;下次重装时,还用同一个用户名,先用Administrator登录后把新系统中的C:Users我的用户名删除(否则mklink会报无法创建链接),再用第3步把你位于D盘上的目录重新做下链接即可。(本人注:进入双系统或者Winpe,移动C:Users中的用户目录。)直接按照以上步骤进行操作会出现上述我所说的问题,原有C:Users我的用户名目录下的符号链接文件在复制后会失效,变成一个个空目录。为了解决这个问题

14、,可在D:Users我的用户名新建系统原有链接文件。mklink/DD:UserswcluApplicationDataD:UserswcluAppDataRoamingmklink/DD:UserswcluCookiesD:UserswcluAppDataRoamingMicrosoftWindowsCookiesmklink/DD:UserswcluLocalSettingsD:UserswcluAppDataLocalmklink/DD:UserswcluMyDocumentsD:UserswcluDocumentsmklink/DD:UserswcluNetHoodD:UserswcluAppDataRoamingMicrosoftWindowsNetworkShortcutsmklink/DD:UserswcluPrintHoodD:UserswcluAppDataRoamingMicrosoftWindowsPrinterShortcutsmklink/DD:UserswcluRecentD:UserswcluAppDataRoamingMicrosoftWindowsRecentmklink/DD:UserswcluSendToD:UserswcluAppDataRoamingMicrosoftWindowsSendTomklink/DD:User

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号