Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接,即符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。
【硬连接】:硬连接指通过索引节点号来进行连接。inode是可以对应多个文件名的
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。
在Linux中,多个文件名可以指向同一索引节点。一般这种连接就是硬连接。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。
只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
【软连接】:另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
什么是软链接和硬链接,很多人对这个概念比较模糊,这里帮助你明白他们之间的区别和用法。
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。
在 Linux 中,元数据中的 inode 号(inode 号即索引节点号)才是文件的唯一标识而非文件名,文件内容要通过inode 号来寻找,就像交通指示牌一样,指示着数据找寻的方向。
软链接可以理解成快捷方式,和原文件的inode号不一样。它和windows下的快捷方式的作用是一样的,软链接数据块中记录的亦是相对路径指向。
硬链接和原文件对应一个inode,就是对应一个文件,可以理解成一个文件有几个别名.
下面这张图表明了他们之间的区别了。
这二张图详细的给出这二个文件的异同处。
1,软链接可以理解成快捷方式,也清楚知道原文件在哪儿。它和windows下的快捷方式的作用是一样的,和windows一样,删除源文件,快捷方式也用不了。
2,硬链接可以说做了一个备份,但并没有增加空间,因为文件就一个,这种可以防止源文件删除后不能使用的问题,但也有局限性,不能对目录和跨文件系统使用。
相信通过上面的说明,你已经明白了二者之间的区别和用途了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)