linux的硬链接与软链接

1.  理解链接文件是怎样的?

   链接文件分为:硬链接和符号链接

   硬链接使用的原理:inode与内容有关,文件名与它所在目录有关,所以不同文件名可以指向同一个inode号码,这就是硬链接,如下:

   我在/home/kanhuigai创建一个文件test1,然后在/home/kanhuigai2/下面创建一个硬链接文件test2,

   

   可以看到我创建的文件teset1的节点为1,默认所有的文件节点数都为1.

   然后创建硬链接,

   

   其实硬链接创建以后,是不区分谁是谁的硬链接,创建好以后,这就是相互的,test1test2的硬链接,test2也是test1的硬链接。

 查看一下test1test2有什么不同吧?

   

   发现他们的属性都是相同的,inode号码,权限,属主属组,节点数都为2,如再创建一个,看一下会怎样?

   

   会发现节点数变为3,说明有三个文件使用同一个inode号码.

 

   修改test1以后,test2和test3会怎样呢?

   

   

   查看发现三个文件的内容是一样的,修改其中一个,另外两个都会发生变化。

      删掉test1,另外两个会怎样?

   

           可以看到另外两个毫无变化,所以说硬链接删除其中一个,其他不会受到影响。

        

            硬链接使用受限:

    l  必须得在同一个文件系统下,否则会有报错,如下:

    

              可以看到创建硬链接的时候,显示无效的穿越设备连接。

            l  硬链接只能建立在文件与文件之间,而不能是目录,如下:

    

2.  符号链接

          使用独立的inode,只是做了一个指向而已,一旦源文件被删除,链接文件就不会被打开了。

   ln -s 

   

   可以看到test2的属性发生了变化,文件类型为l,inode号码是自己的,权限也不同,符号连接就要区别源文件了,带有l就是链接文件,也可以看到链接文件指向了源文件test1.

           如果再为test1创建一个符号连接文件呢?会有什么变化?

   

   没有什么变化。

 

           符号链接是否可以为目录建立呢?

   

   可以创建.

 

 

 

 

 

posted @ 2018-04-20 15:44  奋斗史  阅读(315)  评论(0)    收藏  举报