2024年11月Linux文件系统的要点介绍(4)

发布时间:

  ⑴链接分为两种,是硬链接,是符号链接(也称为软链接

  ⑵硬链接(had link,是将目录链接到文件树的指针,硬链接同时也是将文件名和文件本身链接起来的指针

  ⑶我们现在进入目录child:并输入法以下命令

  ⑷我们发现通过ln建立的链接文件mylink对应的i-节点也是.和上一级目录下的userlist指向的i-节点号是一样的。由此我们可以知道mylink和。。/userlist其实是指向同一个i-节点号,也可以理解为这两者其实是同一个文件。

  ⑸创建一个链接的步骤大概如下:

  ⑹ 通过原文件的文件名找到文件的i-节点号

  ⑺ 添加文件名关联到目录,新文件的名字是mylink 内核将文件的入口(,mylink添加到目录文件里。

  ⑻和创建文件的过程比较发现,链接少了写文件内容的步骤,完全相同的是把文件名关联到目录这一步

  ⑼现在.i- 节点号对应了两个文件名。链接数也会变成个,文件的内容并不会发生任何变化。前面我们已经讲了:目录包含的是文件的引用,每个引用被称为链接。所以链接文件和原始文件本质上是一样的,因为它们都是指向同一个i-节点。由于此原因也就可以理解链接的下列特性:你改变其中任何一个文件的内容,别的链接文件也一样是变化;另外如果你删除某一个文件,系统只会在所指向的i-节点上把链接数减,只有当链接数减为零时才会真正释放i-节点。

  ⑽硬链接有两个特点:

  ⑾不能跨文件系统

  ⑿另外还有一种符号链接,也称“软链接”,符号链接是通过文件名引用文件,而不是i-节点号,这和硬链接的原理完全是不同的,我们先看属性:

  ⒀发现通过ln –s 创建的软链接mylink的i-节点是,和。。/userlist的不相同。软链接的好处就是可以跨不同的文件系统,而且可以链接目录。

  ⒁以上就是Linux文件系统的要点的介绍了,因为Linux一切设备都是文件的特性,所以Linux文件系统太重要的,最好把这些要点都记熟了。