linux下符号链接和硬链接的区别

存在2众不同类型的链接,软链接和硬链接,修改其中一个,硬链接指向的是节点(inode),软链接指向的是路径(path)

软连接文件

软连接文件也叫符号连接,这个文件包含了另一个文件的路径名,类似于win下的快捷方式

格式:

ln [-s] source_path target_path

硬链接文件

info ln 命令告诉你,硬链接是已存在文件的另一个名字,硬链接的命令是:

ln -d existfile newfile

注意: 硬链接文件有2个规则:

1。不允许给目录创建硬链接

2。只有在同一文件系统中的文件之间才能创建连接.

对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改

 

解释2

硬链接与符号链接的区别在于硬链接与原来的文件有相同的i-node即它们是无差别的指向一个存储数据的空间的索引.而符号链接可以理解为指向原来的文件的索引的索引.它与原来的文件是两个不同的文件.所以这样的话假如存在三个文件的话,a是原文件,b是a的硬链接,而c是a 的符号链接.刚不管是那个文件或者目录的内容改变都会使得其它的文件的内容改变.对于原文件的删除,则c将变的不可用,而对b却没有任何的影响.b,c的删除不会对任何文件有影响.
注:

  1. 对于ln命令默认是建立硬链接的.
  2. -s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接,而不是常说较链接,以后应该纠正.

 

解释3

硬链接用ln existing-file new-link 来使用。当你对同一文件有多个名称时,每个名称被称为该文件的硬链接。即对同一个i节点号有多个文件名。你用rm删除它的某一个文件名对其余的名称和文件内容不会受到影响。   

软链接是一个小的指针文件,用ln -s real-file ptr-file   
它可以对目录和其他文件系统进行操作,而硬链接就不行。一般指令会对指针指向的文件进行操作,而rm,mv指令只对软链接本身操作。    用ls -l只能看到软连接。

符号链接:软链接,指向文件所在目录位置的指针, 删除对原始文件无影响。
硬链接:指向文件的INODE结点,增加原始文件的引用计数,引用计数为零时则删除原始文件。

posted on 2016-01-07 10:34  lakeone  阅读(1653)  评论(0编辑  收藏  举报

导航