Linux 中的术语链接定义为在文件系统中创建文件路径或文件位置 URL。 Linux 中有两种类型的链接,软链接和硬链接。 软链接的概念非常普遍且易于理解。 如果您熟悉 Windows 的快捷方式文件,您会认为软链接是特定文件的快捷方式。 软链接不携带整个文件,而仅包含文件名或文件详细信息。 它只携带文件的索引节点(inode),用于与文件系统上的该文件进行内部链接。
硬链接是具有实际大小的原始文件的链接或路径。 另一方面,软链接只为系统中的文件或文件夹创建快捷方式 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 上意外删除的文件。