硬链接和软链接的区别


在计算机网络中,链接是指与文件和目录关联的指针。这些链接分为两种类型:**硬链接**和**软链接**。硬链接是对文件的直接引用,而软链接是通过名称进行引用。因此,软链接通过文件名指向文件。

阅读本文以了解更多关于硬链接和软链接的信息,以及它们之间是如何不同的。让我们从硬链接和软链接的基本概述开始,以便更容易区分它们。

什么是硬链接?

在同一文件系统中直接链接两个文件的方法称为**硬链接**。硬链接使用索引节点(inode)编号来识别文件。由于硬链接指向 inode,因此它们不能在目录上实现。

执行“ln”命令来创建硬链接。此命令在命令链接上创建另一个文件,用于引用原始文件。尽管原始文件和硬链接文件具有相同的索引节点(inode)编号和内容。因此,这两个文件具有相同的权限集和相同的拥有者。

如果我们删除了原始文件,那么它将影响硬链接文件。因此,即使删除了原始文件,硬链接文件也将存在。硬链接消耗更少的内存空间,并且它们只能链接到其自己的分区。在硬链接的情况下,不允许使用相对路径。

什么是软链接?

可以通过多种引用访问文件。所有这些指向特定文件的引用称为**软链接**。换句话说,指向文件的文件名链接称为软链接。因此,软链接是原始文件的别名或替代路径。软链接不使用索引节点(inode)编号。软链接也称为符号链接,因为它们包含链接的目标文件名称。

通过软链接访问文件时,它会将链接重定向到软链接主体中提供的路径中的目标文件。软链接的主要优点是软链接的删除和创建不会影响原始文件。软链接可以将其绝对路径或相对路径作为其一部分。

硬链接和软链接的区别

硬链接和软链接之间的重要区别在以下表格中突出显示 -

序号 硬链接 软链接
1. 具有硬链接的文件可以使用多个名称进行访问。这些名称称为硬链接。 可以通过多种引用访问文件。所有这些指向特定文件的引用称为软链接。
2. 删除文件后,链接仍然有效。即使文件已被删除,也可以访问该文件。 删除原始文件后,链接将失效。
3. inode 编号保持不变。 inode 编号不同。
4. 用于创建硬链接的命令是 'ln'。 创建软链接的命令是 'ln -s'。
5. 它消耗更少的内存。 它消耗更多的内存。
6. 它只能链接到其自己的分区。 它可以链接到其他文件系统,也可以联网。
7. 它没有相对路径。 它具有相对路径。

结论

您应该注意到的最显着的区别是,硬链接是原始文件的替代路径,它使用 inode 访问目标文件,而软链接是访问目标文件的替代路径,但不引用 inode 来访问它。

更新于: 2022年12月21日

8K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告