mklink(Windows下创建符号链接的工具)

1、概况

符号链接是 NTFS 中指向文件系统中的 另一个对象 的一类对象,被指向的对象叫做“目标 ”。

1-1、使用方式:

MKLINK [[/D] | [/H] | [/J]] 链接名称 目标

  • /D(irectory) 创建目录符号链接而不是文件符号链接(default)
  • /H(ard) 创建硬链接而不是符号链接(default)
  • /J(oint) 创建目录连接点
  • 【注意】无上面三个可选的参数为:文件软链接
  • 链接名称(昵称) 指定新的符号链接名称
  • 目标(链接源) 指定新链接引用的路径(绝对路径或者相对路径均可)

1-2、区别于联系

链接类型命令文件类型文件路径空间占用可链接类型本质win下是否可跨磁盘访问方式源文件与链接文件关联关系
目录符号链接/d.symlinkd相对/绝对不占空间仅目录源目录进行引用(相当于快捷方式)跨本地/跨网络(共享目录)访问:本地通过点击链接目录/网络通过Tomcat可实现源删链无效;链删不影响源;内部进行CRUD双向同步变化
目录连接点/j.junction绝对路径不占只能是目录同上,连接点仅支持跨本地同上同上
硬链接/h.源文件类型绝对路径占源文件一样空间只能是文件源文件拷贝不可以访问:本地通过所在磁盘/网络通过Tomcat实现源删链无效!;链删源无影响;CRUD操作双向同步变化
快捷方式批处理.lnk绝对路径文件占几百k(源大小无关文件、目录均可/跨本地磁盘访问:本地跳转到文件所在磁盘路径源删无效;只是创建了个快捷方式
直接说区别的话,其实就是同一件事的实现层级不同。
  1. 快捷方式(本身是一个文件):
    • 里面说明了自身指向的文件的信息,Shell(外壳程序)可以读取这个文件然后执行对应跳转的操作。
  2. 软链接(是一个文件系统对象):
    • 里面说明了自身指向的实际文件的文件系统路径,文件系统驱动负责读取这个信息然后“转发”对应的操作。
  3. 硬链接(直接引用文件系统对象)
    • 比软链接的层级更低一点,直接引用文件系统对象而非路径。
  4. F、层级不同带来的差异,除了直观的处理这件事的东西不同,主要的差别还是越低层越透明和“隐蔽”,越高层对于用户而言则功能越丰富。
    • 比如虽然同样是指向特定路径的文件,快捷方式需要特定的处理程序来处理,而软链接则直接用标准的文件系统API就可以正常使用。
    • 同时,快捷方式可以添加信息自定义外观(图标)、指定执行环境(上下文、初始路径),而软链接则不行。
    • 快捷方式还可以指向文件系统概念以外的目标,比如COM Object,软链接不行。

2、注意事项

  1. 使用 mklink 创建符号链接的时候,操作系统并不会检查目标是否存在。所以可以创建指向不存在的目标的符号链接
  2. 注意尽可能不要使用符号链接嵌套。也就是在一个文件夹 A 中创建一个符号链接指向 A 自己。这会产生一个无限循环递归的文件系统 (Windows 下限制了路径长度最大为 128 个字节),会使大部分应用程在遍历文件夹目录的时候产生循环错误 (因为对应用程序来说,文件夹的符号链接与普通的文件夹是完全一样的)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值