在 Linux 操作系统中,每一件事都是一个文件。 甚至指向这些文件或链接的指针也是文件。 Linux中通常使用两种类型的链接:硬链接和软链接。 本文主要围绕硬链接展开。 文件的硬链接与原始文件具有相同的 inode 值。 但是,硬链接只能为文件创建,不能为 Linux 中的目录创建。 此外,文件的硬链接只能在原始文件所在的同一目录中创建,而不能在其他地方创建。 这意味着不能跨不同目录创建硬链接。 特别是,我们将向您展示在 Linux 中创建和使用硬链接的方法。
如何在 Linux 中创建硬链接
要了解在 Linux 中创建硬链接,您可以执行以下步骤:
第 1 步:在 Linux 中创建硬链接
为了演示,我们在系统的主目录中创建了一个名为“dummy.txt”的文件。 我们希望为此文件创建一个名为“dummy2”的硬链接。 为此,我们将使用以下命令:
$ ln –v /home/system/dummy.txt /home/system/dummy2
这里,第一个路径是指源的路径。 第二个路径是指要创建的链接的路径。 您可以根据自己的具体情况替换这些路径。
成功创建上述硬链接后,您将获得以下输出:
第 2 步:验证 Linux 中硬链接的创建
现在,我们将尝试验证上述硬链接的创建,即硬链接的inode值是否与原始文件的inode值相同。 为此,我们将运行以下命令:
$ ls –li /home/system/dummy.txt && ls –li /home/system/dummy2
您可以从以下输出中验证两个文件的inode值,即原始文件和硬链接,这意味着我们的硬链接已成功创建。
如何在 Linux 中使用硬链接
创建硬链接后,我们将对其进行一些尝试。 您可以参考以下为此目的共享的示例:
Example #1:重命名原始文件后检查硬链接的状态
在这个 example,我们将尝试修改原始文件的名称并查看硬链接的状态,即它是否仍然指向同一个文件。 为此,我们将文件“dummy.txt”重命名为“test.txt”。 重命名此文件后,我们执行以下命令:
$ ls –li /home/system/test.txt && ls –li /home/system/dummy2
从下图的输出可以确认两个inode的值,即原文件(重命名后)的inode值和硬链接的值还是一样的,也就是说重命名了原文件对硬链接没有影响。
Example #2:删除原始文件后检查硬链接的状态
现在,我们将尝试删除原始文件,看看它如何影响硬链接。 我们删除了我们的原始文件,即“test.txt”(重命名后)。 删除这个文件后,我们想看看这个文件的硬链接是否仍然存在。 为此,我们使用了以下命令:
$ ls –li /home/system/dummy2
以下输出表明,在删除文件后,我们的系统上不仅存在指向该文件的硬链接,而且它仍然具有与以前相同的 inode 值。
结论
本文旨在保持硬链接在 Linux 中的重要性。 我们解释了在 Linux 中创建文件硬链接的过程。 之后,我们还和大家分享了一些硬链接的使用场景。 这些场景将使您更容易使用硬链接。