NTFS 符号链接又称“符号链接”,是 NTFS 文件系统中指向文件系统中的另一个对象的一类对象,被指向的对象叫做“目标”。
mklink 是 Windows 下用于创建符号链接的工具,存在于 Windows Vista 及以后版本的 Windows 操作系统中。
使用方式:
mklink /J "C:\Users\用户名\Documents" "D:\Document"
像上面这样,可以把C盘中我的文档文件夹放到别的磁盘,节省C盘空间。(以前觉得360等管理工具的这个迁移我的文档功能很厉害,没想到也就just so so。)
需要注意的是windows及其下面的system32目录等是不支持迁移的,因为符号连接在系统启动的时候是不工作的。
另外users、Program Files 、ProgramData等文件夹也不建议迁移,因为可能影响windows update和其他windows组件的安装和升级。
下面详细说说这个工具的其他用法。
MKLINK [[/D] | [/H] | [/J]] Link Target /D 创建目录符号链接。默认为文件符号链接。 /H 创建硬链接而非符号链接。 /J 创建目录联接。 Link 指定新的符号链接名称。 Target 指定新链接引用的路径(相对或绝对)。
上面的表格顺序,从上到下的行为从越来越像快捷方式到越来越像两个独立的文件夹 。
不带参数时就是普通的文件快捷方式创建方法。
目录符号链接(/D)与目录连接点(/J)
目录符号链接(/D)与目录连接点(/J)非常相似,都是用于文件夹。
目录符号链接允许 Target 使用相对路径和绝对路径,当使用相对路径时创建目录符号链接之后,如果移动了符号链接文件,操作系统将无法再找到原来的目标。
目录连接点只允许 Target 使用绝对路径,当创建目录连接点时,如果传入的参数是相对路径,mklink 命令会自动将相对路径补全为绝对路径。
当目录符号链接使用绝对路径时,其行为与目录连接点几乎一致,只有以下几点区别。
1.目录符号链接可以指定 SMB 远程网络中的路径,而目录连接点不可以。
2.某些系统API的访问效果不同:如用使用 FileDialog 打开 /D 生成的目录,地址栏会跳到源目录位置;而 /J 生成的目录不会。用 FolderDialog 打开,两者相同。
3.两者生成目录的系统权限不一样: /J 生成的目录不需要管理员权限。
4./D 生成的目录在系统初始化时不可用。
综合来看,如果要链接SMB远程网络的路径就使用/D,其他情况下尽量使用/J。
文件硬链接(/H)
/H的硬链接其实相当于带有关联的文件副本,显示是两个独立的文件而不是带箭头的快捷方式,修改一方(包括权限的修改),另一个自动同步,但删除一个另一个依然存在。
使用同名文件替换一方,另一方也会被替换。也就是说,两个文件的地位是相等的。
windows会自动维护硬链接,因此可以移动到别的文件夹依然生效。
另外因为硬链接不占用磁盘空间,硬链接只能存在同一个分区或者卷中。
注意事项
1.使用 mklink 创建符号链接的时候,操作系统并不会检查目标是否存在。所以可以创建指向不存在的目标的符号链接。
2.注意尽可能不要使用符号链接嵌套。也就是在一个文件夹 A 中创建一个符号链接指向 A 自己。这会产生一个无限循环递归的文件系统(Windows 下限制了路径长度最大为 128 个字节),会使大部分应用程序在遍历文件夹目录的时候产生循环错误(因为对应用程序来说,文件夹的符号链接与普通的文件夹是完全一样的)。
你从一个地方跑到另一个地方,
但你还是你。
你没法从自己的身体里面逃出去。
《太阳照常升起》
——海明威
评论
851568 462747I really like this weblog website, will definitely come back again. Make confident you carry on creating quality content material articles. 633769
165146 898335Thanks for helping out, superb info . 686494
811922 764172Sorry for the huge review, but Im genuinely loving the new Zune, and hope this, as properly as the exceptional reviews some other people have written, will aid you decide if its the correct choice for you. 192177
530706 790482Id need to speak to you here. Which isnt something Which i do! I adore to reading a post that need to get individuals to believe. Also, thank you for permitting me to comment! 91446
359230 150895But wanna remark that you have a very decent internet internet site , I enjoy the style it truly stands out. 769309
Perfect piece of work you have done, this internet site is really cool with superb info .
http://www.tlovertonet.com/