硬链接和软链接

硬链接

允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止”误删”的情况, 只删除一个连接并不影响节点本身和其它的链接,只有当最后一个连接被删除后,文件的数据块以及目录的连接才会被释放.。也就是说,文件真正删除的条件是与之相关的所有硬链接文件均被删除。
例:文件A是文件B的硬链接,则A的目录项中的inode节点号与B节点的inode节点号相同,既一个inode节点对应两个不同的文件名,两个文件名指向一个同一个文件,A和B对于文件系统其实是完全相同的. 如果删除了其中一个,对另外一个没有影响. 每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应数据块被回收。

软链接

对于软链接(符号链接)以及它指向何种对象并无任何文件系统限制,任何用户都可以创建指向目录的软链接。引入软链接的原因就是为了避开硬链接的一些限制。软链接文件类似于windows的快捷方式。在软链接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
例:
A是B的软链接,A的目录项中的inode节点号与B的目录项中的inode节点号不同,A和B指向的是两个不同的inode,继而指向两块不同的数据块,但是A的数据块存放的知识B的路径名. A和B之间 “主从”关系,如果B被删除了,A仍然存在,但指向的是一个无效的链接。

参考

操作系统—浅析硬链接和软链接