Linux中的ln命令:创建软链接和硬链接


原文地址:Linux中的ln命令:创建软链接和硬链接

软链接是Linux文件系统的基本组成部分之一。在本教程分享了如何使用ln命令创建软链接和硬链接。

链接是对另一个文件的引用。链接为同一个文件赋予多个名称,并允许它们同时存在于两个或多个位置。

链接有两种类型:

  • 软链接或符号链接:这只是原始文件的快捷方式。
  • 硬链接:这指向原始文件的存储位置。

此图显示了两种类型的链接如何工作:

Linux中的ln命令:创建软链接和硬链接

硬链接和软链接都是使用ln命令创建的。

在本教程中,我将向您展示如何使用ln命令在Linux中创建各种类型的链接。

ln命令的示例

ln命令的语法很简单:

 ln [option] target_file link_name

让我向您展示一些使用ln命令在Linux中创建链接的示例。

要创建文件的硬链接,可以使用ln命令,而无需使用以下任何选项:

 ln target_file link_name

Linux中的ln命令:创建软链接和硬链接

要创建指向文件的符号链接,请将该选项-s与目标文件名和链接名一起使用

 ln -s target_file link_name

Linux中的ln命令:创建软链接和硬链接

大多数Linux终端将以不同的颜色以及指向的目的地显示软链接。

您还会注意到,长列表视图中的文件以链接开头l而不是通常的链接开头-

即使终端没有以不同的颜色显示软链接,您也可以通过这种方式识别链接。

创建到目录的软链接与创建到文件的符号链接相同。您只需要将目标文件名/路径替换为目录名/路径。

ln -s target_directory link_name

Linux中的ln命令:创建软链接和硬链接

您会注意到,在Linux终端中,软链接和硬链接的颜色通常是不同的。硬链接到目录是不可能的(通常)。

您可以覆盖现有链接。默认情况下,如果您尝试使用现有链接指向新文件,则会引发错误:

ln: failed to create symbolic link 'soft-link-to-file': File exists

ln命令为此有两个选项:

  • -i:交互模式询问您是否要覆盖现有链接。
  • -f:强制模式仅更新现有链接而没有任何确认。

假设您要强制更新符号链接。您可以执行以下操作:

ln -sf new_file existing_soft_link

注意添加sfor软链接,否则您会将软链接转换为硬链接。

Linux中的ln命令:创建软链接和硬链接

通常,将ls命令与该-l选项一起使用时,它将显示其指向的文件。

但是,如果有链接链,则不会显示原始文件。例如,您创建一个文件链接,然后创建另一个链接到第一个链接。在长列表中,第二个链接将指向第一个链接。

要从链接链中查找原始文件,可以readlink -f按以下方式使用:

readlink -f soft_link

-f选项代表“跟随”,如“跟随链条”。

此图更好地说明了示例:

Linux中的ln命令:创建软链接和硬链接

既然您知道如何创建链接,那么简单介绍为什么我们需要链接?它们的实际用途是什么?

可能有几个用例。假设您下载了包含其代码和可执行文件的软件。您将整个内容保留在/opt目录中。但是要从任何地方运行该程序,您需要将其可执行文件放在/usr/bin目录中。

如果将可执行文件移到该目录,则它可能无法工作,因为它需要访问某些代码,并且无法从/usr/bin目录中找到这些文件的路径。您可以在这里在/usr/bin目录中创建指向该可执行文件的链接。

这样,该程序可以在系统上的任何位置运行,并且该程序的可执行文件保留在其原始程序文件夹中。

链接是Linux的重要组成部分。您会发现它们已在系统中的许多地方使用。只需查看/lib目录,您将看到大量的软链接。

评论

登录后评论

服务器优惠活动

Top