Linux 中的硬链接和软链接 – 使用和示例

硬链接和软链接是在 Linux 上非常有用的两种不同类型的链接。 在这里,让我们用例子来讨论它们。

硬链接:

硬链接与原始文件共享相同的 inode。 它是原始文件的镜像副本。 它仅对文件有用,因为它不能为目录创建链接。 如果您将内容更改为原始文件或硬链接文件,则两者都会发生更改。 关于硬链接的主要事实是,即使删除原始文件,它们也不会被删除。

软链接:

软链接也称为符号链接。 它不与原始文件共享相同的 inode。 它是原始文件的明确链接,因此如果您删除原始文件,那么它也会被删除。 它可以为文件和目录创建链接。

硬链接和软链接的关键区别

硬链接 软链接
即使原始文件被删除,它也不会被删除。 如果原始文件被删除,那么它也会被删除。
共享相同的 inode 号 共享不同的 inode 号
原始文件的镜像副本 指向原始文件的明确链接
只能链接文件 可以链接文件和目录

Linux 上硬链接的使用案例

让我们创建一个名为 linuxways.txt 的文件并创建一个到该文件的硬链接。

$ sudo mkdir hardlink
$ cd hardlink
$ sudo touch linuxways.txt
$ sudo ln linuxways.txt hardlinktest.txt
$ls -li

hardlinktest.txt 和 linuxways.txt 的 inode 编号相同,即 393248 和相同的文件权限 (-rw-r–r–)。 即使原始文件被删除,硬链接文件也不会被删除。

$ sudo rm linuxways.txt