html tool

2014年6月11日星期三

Symbolic Link 与 Windows 的快捷方式 的异同

在看<鸟哥的linux私房菜>的 “第八章、Linux 磁盘与文件系统管理” 提到

Symbolic Link 与 Windows 的快捷方式可以给他划上等号,由 Symbolic link 所创建的文件为一个独立的新的文件,所以会占用掉 inode 与 block 喔!

而自己之前读goagent源码时查过这个 symbolic link 与快捷方式的关系好像是不一样的(参见http://popexizhi.blogspot.com/2014/02/pythonospathislinkosreadlink27.html)
 今天再次go了一下两者的关系,确实差别不小参见下文转载:
(转载地址:
[中文译本]http://www.cnblogs.com/heqichang/archive/2012/04/26/2471774.html
[原文位置]http://www.maxi-pedia.com/mklink
参考wiki中对windows系统中这两者的区别:http://zh.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5#Windows.E6.93.8D.E4.BD.9C.E7.B3.BB.E7.BB.9F
)

Windows下硬链接、软链接和快捷方式的区别

mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具。使用它需要管理员权限。
首先,先来介绍下mklink这个命令,可以看下下面的截图:
Capture
说明也已经很详细了,我们直接看下面例子吧。

下面的图片向我们展示了在windows系统中创建符号链接,硬链接和快捷方式有什么不同。
符号链接Symbolic link
  • 执行命令 mklink link_name target_name
  • 创建链接后的图标和快捷方式很像
  • 在系统中不占用空间
  • 在文件系统中不是一个单独的文件
  • 在操作系统层解析(!?)
  • 如果源文件被删除了,链接就没用了
  • 移除源文件不会影响符号链接
  • 移除链接文件也不会影响源文件
硬链接(Hard link)
  • 执行命令 mklink /H link_name target_name
  • 在系统中占用的空间与源文件相同,但在系统中引用的是相同的对象(不是拷贝)
  • 在操作系统层解析(!?)
  • 图标和创建快捷方式的图标不同
  • 移除源文件不会影响硬链接
  • 移除硬链接不会影响源文件
  • 如果源文件被删除,它的内容依然通过硬链接存在
  • 硬链接文件的任何更改都会影响到源文件
快捷方式(Shortcut)
  • 在选择的源文件上鼠标右键,通过下拉菜单创建
  • 快捷方式在系统中跟源文件是完全分离的
  • 只有那些懂得快捷方式的程序知道它们
  • 如果源文件删除,链接就没用了
  • 移除源文件不会移除快捷方式
  • 移除快捷方式不会影响到源文件
symlink_hardlink


顺便推荐一个实现这个功能的简单工具:Link Shell Extension

没有评论:

发表评论