Linux 中的术语链接定义为在文件系统中创建文件路径或文件位置 URL。 Linux 中有两种类型的链接,软链接和硬链接。 软链接的概念非常普遍且易于理解。 如果您熟悉 Windows 的快捷方式文件,您会认为软链接是特定文件的快捷方式。 软链接不携带整个文件,而仅包含文件名或文件详细信息。 它只携带文件的索引节点(inode),用于与文件系统上的该文件进行内部链接。
Linux 中的硬链接和软链接
硬链接是具有实际大小的原始文件的链接或路径。 另一方面,软链接只为系统中的文件或文件夹创建快捷方式 URL 或路径。 在这篇文章中,我们将详细介绍软链接和硬链接以及链接在 Linux 上的工作原理。
1.与inode的软硬链接
在 Linux 和类 Unix 操作系统中,软链接表示指向原始文件的链接。 如果你的文件有一个唯一的索引号,你可以为那个原始文件创建多个软链接,每个软链接都指向主文件。
在大多数情况下,软链接也称为符号链接。 使用终端命令 shell 可以轻松创建文件的软链接。 下面提到的命令将指导您创建软链接。
$ ln -s targetFile SourceFiles
这些软链接通常用于引用命令内的文件或指示命令内的节点。 在服务器管理中,经常使用软链接和硬链接来代替原来的路径。
– –
硬链接理解和使用有点复杂。 正如我之前所说,它是包含元数据和原始索引号的文件的另一个名称。 我们可以将硬链接放在任何目录中。 使用以下终端命令,我们可以创建指向文件的硬链接。
$ ln hard_link_target hard_link_output
说到 Linux 上的链接,使用高级 ln 命令,我们可以查看有多少索引节点编号与文件和用户详细信息链接。 在硬链接中,索引号的数量也表示该文件的硬链接总数。
关于硬链接的有趣事实是,如果您删除原始文件,硬链接仍将保留在文件系统中。 在 Linux 上删除文件的唯一方法是在删除文件之前确保该文件只有一个 inode 编号。
同时删除软链接和硬链接不会从 Linux 文件系统中删除原始文件。 在某些情况下,inode 号可以帮助恢复 Linux 上意外删除的文件。
2. 关于 Linux 中的硬链接和软链接的事实
在这一步,我们将看到Linux上软链接和硬链接的一些事实和工作方法。 了解 Linux 上的链接概念可能会帮助您更好地创建链接。
- 软链接或符号 URL 是 Linux 系统上文件的快捷方式。
- 如果原始文件被移动或删除,软链接路径将无法正常工作。
- 您可以使用 ls -l 命令显示符号链接。
- 您可以使用软链接来运行命令、链接到目录或在脚本中使用。
- 创建文件的软链接后,当您更改该文件的名称时,您还需要更新软链接名称。 否则,软链接将不起作用。
- 软链接主要用于链接系统上的文件和目录。
正如我们已经看到有关符号链接的一些事实,您可能还需要了解有关硬链接的一些事实。
- 与软链接一样,您可以使用 ls -l 命令显示系统上的硬链接列表。
- 与软链接不同,硬链接具有相同的原始文件。 如果您删除其中任何一个,其余的将起作用。
- 删除硬链接不会影响 Linux 文件系统上的主文件。
- 硬链接的大小通常与主文件相同。
- 您可以为文件创建硬链接,但不能为 Linux 和类 Unix 操作系统上的目录创建硬链接。
- 原始文件的索引节点值和硬链接的索引节点总是相同的,并且指向文件系统上的同一个文件。
3.软链接和硬链接的优缺点
在上面提到的几点中,我们已经看到了硬链接和软链接如何在 Linux 系统上工作的特性、工作方法和属性。 在这里,我们将发现这两种文件系统的优缺点。
软链接或符号链接的主要优点是,您可以毫不费力地创建软链接,并且不会占用大量的磁盘空间或块。 此外,软链接还允许我们为任何文件和目录创建符号链接。
硬链接的优点是文件和硬链接都使用相同的索引节点,并且它们在系统上占用相同的空间,所以在这种情况下,我们实际上将两个文件都保存在文件系统上。 因此,如果您不小心或有意删除或删除了主文件,硬链接仍然是可执行的。
现在,如果我们看看软链接和硬链接的缺点,我们可以看到两者都有一些局限性。 对于软链接,如果您删除、重命名或删除主文件,软链接将不再起作用。
4. 如果我们删除主文件会发生什么
您可能一直在考虑如果我们自愿或错误地删除主文件会发生什么; 硬链接和软链接是否仍然有效? 在这里,我们为目标文件夹创建了一个软链接。 现在,如果我们删除主目标目录,系统会在下次执行该软链接时建议删除垃圾箱中的软链接。
我们使用以下命令创建了“目标”文件的软链接。 现在,我们将删除主文件,我们将看到它如何影响符号链接。
ln -s target softlink
而对于硬链接,唯一的缺点是您无法为 Linux 系统上的任何目录创建硬链接。 此外,它也不允许您为不同的文件系统创建硬链接。
最后的话
在整篇文章中,我们已经看到了关于软链接和硬链接如何在 Linux 上工作的详细说明。 如果您打算创建指向目录的硬链接,请注意,在现代计算机上,创建目录的硬链接几乎是不可能的。 但是您可以创建指向目录的软链接。
我希望这篇文章对你有所帮助; 如果是,请与您的朋友和 Linux 社区分享这篇文章。 您还可以让我们知道您认为哪个链接最有用,或者您在系统上使用最多的链接。