硬链接和软链接是在 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