Linux 软链接 与 硬链接 详解

spoiler posted @ 2013年5月28日 05:45 in SHELL编程 with tags soft link hard link , 1747 阅读

   补充:     软、硬链接大部分都是相对于 文件 而言的。在这里我们首先介绍一下 磁盘索引节点 与 内核索引节点,因为这有助于我们全面认识 链接这块知识

      2   磁盘索引节点: 对应于每个在磁盘上存储的文件,记录该文件的长度,权限,所属关系以及物理位置等。

         内核索引节点:对应于每个打开的文件, 记录了正在打开的文件的各种属性信息。

         两者之间的关系是: 当进程打开一个文件,该文件的磁盘节点信息就会被读进内核,然后内核根据它建立相应的内核索引
          节点。

 定义   硬链接: 指令方式: ln [文件名] [硬链接名] OR  ln [文件名列表] [硬链接名] 
                        硬链接就是给目标文件起个别名,不同的文件名对应于同一个磁盘索引节点,每增加一个硬链接 链接数目
                         就会加1.删除一个硬链接就是删除一个别名而已,不会对目标文件产生影响。

                软连接:  指令方式: ln -s [文件名] [软连接名]  OR  ln [文件名列表] [软链接名] 
                          软链接也叫符号连接,他的别名很明显的说明了他的特性。 创建一个文件包含目标文件的路径名。可以
                          是任意文件目录 。可以连接不同的文件系统。 红色标记的特点是硬连接做不到的。软连接和硬连
                          接的区别:

总结:
       1. 硬连接与目标文件是平等的,通过指令ls -il 指令可以看出 硬链接文件和目标文件的物理大小是一样的, 而软链接不是
        的。硬链接 和 目标文件 所指向的是同一个磁盘索引节点, 而软链接和目标文件是不同的个体(可以把软链接理解为一个
       指针,硬链接理解为一个别名) 分别指向不同的磁盘索引节点,只是复制了目标文件 的路径名而已。

       2.硬链接在目标文件物理位置改变的情况下依然可以作用,但是软链接不行。因为硬链接跟目标文件指向的是同一个磁盘索引
           节点,目标文件物理位置变化会同时更新磁盘索引节点,硬链接作用依然有效。软链接在此情况下不能作用,因为软链接
          指向的是不同的磁盘索引节点。 硬链接不可以作用目录和不同文件系统的文件链接,而软链接可以
       3.硬链接比较节约内存,因为他们使用的是公共磁盘索引节点,而软链接从来都是自己重新创建个。每当建立一个硬链接,链
          接计数值就会增1.而软链接不会产生此效果。
 


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter