如何在 Linux 中使用 ln 命令创建软链接和硬链接

您所在的位置:网站首页 linux新建目录的命令是 如何在 Linux 中使用 ln 命令创建软链接和硬链接

如何在 Linux 中使用 ln 命令创建软链接和硬链接

2024-06-01 20:18| 来源: 网络整理| 查看: 265

如何在 Linux 中使用 ln 命令创建软链接和硬链接

链接是 Linux 文件系统的重要组成部分之一。在本教程中了解如何使用 ln 命令创建链接。

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

有两种类型的链接:

软链接或符号链接:这只是原始文件的快捷方式。

硬链接:指向原始文件的内存位置。

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

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

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

ln 命令示例

ln 命令的语法很简单:

ln [option] target_file link_name

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

1. 创建文件的硬链接

要创建到文件的硬链接,可以使用不带任何选项的 ln 命令,如下所示:

ln target_file link_name

2. 创建文件的软链接

要创建文件的符号链接,请使用选项 -s 以及目标文件名和链接名称

ln -s target_file link_name

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

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

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

3.创建目录软链接

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

ln -s target_directory link_name

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

4. 更新现有的软链接(或硬链接)

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

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

为此,ln 命令有两个选项:

-i:交互模式询问您是否要覆盖现有链接。

-f:强制模式仅更新现有链接,无需任何确认。

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

ln -sf new_file existing_soft_link

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

额外提示:通过一系列链接获取原始文件

通常,当您使用带 -l 选项的 ls 命令时,它会显示它指向的文件。

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

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

readlink -f soft_link

-f 选项代表“follow”,如“follow the chain”。

下图更好地解释了该示例:

为什么我们需要链接?

现在您已经知道如何创建链接了,让我们简单介绍一下为什么需要链接?它们有什么实际目的?

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

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

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

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

接下来怎么办?

我强烈建议阅读以下与 Linux 中的链接概念相关的文章:

什么是软链接?

硬链接详解

查找损坏的符号链接

Linux中inode的概念

我真心希望您在本教程中学会有效地使用 ln 命令。随时欢迎提出问题和建议。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3