码迷,mamicode.com
首页 > 系统相关 > 详细

linux中的软、硬链接

时间:2017-05-09 21:38:17      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:没有   数据   linux   center   com   分区   目录项   img   log   

linux中的软、硬链接

硬链接

  硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

 

软链接

  软链接(soft link),又称为符号链接(symbolic link),如果C是A的软链接(A和C都是文件名),A的inode节点号与B的inode节点号不相同,A和B指向的是两个不同的inode,故而指向两块不同的数据块。但是C的数据块中存放的只是A的路径名(可以根据这个找到B的目录项)。A和C之间是“主从”关系,如果A被删除了,C仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

观察下图

技术分享

  右边蓝色内存块中存储文件元数据,左边内存存储文件数据,A为文件,B文件是A的硬链接,C是A的软链接。A和B的inode号相同,指向同一块内存地址,C指向的是另一块内存地址,但是C指向的内存中存储着A文件的地址,故而可以找到A文件。

 

区别

  硬链接 软链接
原理 和原文件存储着相同的inode 指向的内存中存储着原文件的地址索引inode
inode号 和原文件inode相同 和原文件inode不同
删除原文件 不影响硬链接 软链接无法查看
是否可以指向目录 不能 可以
是否可以跨分区 不能     可以
命令 ln filename hdname ln -s filename stname

 

linux中的软、硬链接

标签:没有   数据   linux   center   com   分区   目录项   img   log   

原文地址:http://www.cnblogs.com/vathe/p/6832471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!