美文网首页
硬链接和软链接

硬链接和软链接

作者: sortinnauto | 来源:发表于2018-08-23 17:30 被阅读0次

在Linux中,文件由两部分组成:用户数据(user data)和元数据(meta data)。用户数据,即文件数据块(data block),是记录文件真实内容的地方;元数据则记录文件的附加属性,如文件的大小、创建时间、所有者等。

在 Linux 中,文件元数据中的 iNode 属性是文件的唯一标识,而并非文件名。在你改变文件名称之后,它的 iNode 是保持不变的。也就是说 Linux 为了方便用户识别文件,向用户提供了更为便捷的文件名得以区分不同的文件; Linux 系统则是通过 iNode 来寻找正确的文件数据块。

硬链接访问文件

在 Linux 中,查看目录下文件的详细信息可用以下命令,其中包含了 iNode 的显示:

➜ ~ ls -li

在这个列表中,第一个字段就是 iNode 号。其中playground文件夹的 iNode 号为403647。当我们更改 playground 文件名后:

➜ ~ mv playground myplayground

查看列表会发现,对应的 iNode 并没有发生变化。

查看具体文件的详细信息可用下面的命令:

➜ ~ stat myplayground

为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。

若一个 iNode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。

硬链接可由命令 link 或 ln 创建。如下是对文件 fun 创建硬链接。

  1. 创建硬链接 fun-hard;
  2. 查看目录,发现 fun 和 fun-hard 的 iNode 值相同,这就说明它们是相同的文件。另外, fun 和 fun-hard 的第三个字段都是 2 ,这是文件 fun 存在的硬链接数目。要知道,文件名是由链接创建的,所以一个文件通常至少有一个链接。
通过 stat 命令也能查看文件的硬链接数。

硬链接的两大不足:

  • 硬链接不能引用自身文件系统之外的文件。也就是说,链接不能引用与该链接不在同一磁盘分区的文件。
  • 硬链接无法引用目录。

另外,硬链接还有其他几点特性:

  • 文件有相同的 inode 及 data block;
  • 只能对已存在的文件进行创建;
  • 删除一个硬链接文件并不影响其他有相同 inode 号的文件。

软链接(符号链接)就是为了克服硬链接的局限性而创建的。

软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。

软链接就是一个普通文件,只是数据块内容有点特殊。软链接有着自己的 iNode 号以及用户数据块。因此软链接的创建与使用没有类似硬链接的诸多限制:

  • 软链接有自己的文件属性及权限等;
  • 可对不存在的文件或目录创建软链接;
  • 软链接可交叉文件系统;
  • 软链接可对文件或目录创建;
  • 创建软链接时,链接计数 i_nlink 不会增加;
  • 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。
软链接访问文件

相关文章

  • 硬链接和软链接

    最近的一个项目,做的是开发者平台文件的下载。业务本身没有什么技术难度,但就在项目测试过程中发现,iOS 平台部分文...

  • 软链接和硬链接

    修改硬链接会影响源文件的内容,也会影响软链接的内容;修改源文件也会影响硬链接和软链接; 删除源文件,输入命令:ll...

  • 硬链接和软链接

    在Linux中,文件由两部分组成:用户数据(user data)和元数据(meta data)。用户数据,即文件数...

  • 硬链接和软链接

    硬链接(hard link):ln 源文件名 链接名 文件A是文件B的硬链接,则A的目录项中的inode节点号与B...

  • 软链接和硬链接

    概念 软链接 相当于win创建快捷方式(方便使用,注:删除源文件,则无法继续使用) 硬链接 相当于将原文件拷贝一份...

  • 硬链接和软链接

    一、硬链接(Hard Link)的概念 硬链接也称为实体连接它是在某个目录下新增一笔档名链接到某 inode 号关...

  • 软链接和硬链接

    要理解软链接和硬链接需要首先理解文件系统的原理,这里以EXT2文件系统为例。 Ext2文件系统由3部分组成: su...

  • 软链接和硬链接

    一、软件链接 定义:类似于windows下的快捷方式作用:可以对硬盘空间进行合理分配使用方式:ln -s 源文件 ...

  • 软链接和硬链接

    https://www.ibm.com/developerworks/cn/linux/l-cn-hardands...

  • 软链接和硬链接

    可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名...

网友评论

      本文标题:硬链接和软链接

      本文链接:https://www.haomeiwen.com/subject/zjrmiftx.html