hard link (硬链接) 是直接连接到物理存储地址的,比如XX扇区、XX文件块等,所有的硬链接的平等的,甚至可以认为所有的普通文件都是一个单一硬链接。硬链接的结构方式决定了:它不能跨文件系统,因为不同文件系统下的物理存储方式是不同的;它不能链接到目录(??);当一个文件的所有硬链接都配删除掉,这个文件才会被真正删除。

Symbolic link(符号链接) 是连接到文件路径的,可以认为它比Hard Link所处的层次要高一些,因为它是基于路径工作的,所以决定了:所有的符号链接都是连接到一个真实目标路径上的,当该目标文件被删除,所有的符号链接也都会失效;它可以跨越文件系统;删除符号链接不会影响到物理文件本身(注意:windows的资源管理器似乎会把物理文件一起删除掉!)

根据上述比较,通常用途下,应该优先使用Symbol Link。

Windows 下的快捷方式和符号链接其实2个差别很大的东西,可以认为:符号链接对应用程序来说是透明的,符号链接和真实路径间的转换是在操作系统层面来自动处理的;而Windows 下快捷方式存储的仅仅是个路径信息,操作系统不会自动进行物理路径转换,而需要应用程序的读取快捷方式,然后寻找要操作的文件。

可以进一步的分析认为:Hard Link是工作于文件系统物理存储层,Symbolic Link 工作于文件系统的接口层,快捷方式工作于应用层(上述未必准确)。

Windows自NTFS3.0版(windows2000起)开始支持Hard Link 和 Symbolic Link,但没有提供相应的管理工具,这里(http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.htm)有一个扩展工具可以在Windows NTFS下进行管理操作。注意Windows对链接的支持不是完全的,特别是Windows自带的资源管理器对Symbolic Link的操作有一些奇怪的表现。

(142)

分类: 应用

1 条评论

3158.com · 2010/12/21 9:01 上午

这个不错,要收藏下来先

发表评论

电子邮件地址不会被公开。