如何使用ln命令创建符号链接

在本指南中,我将向您展示如何使用ln命令创建和使用符号链接。

有两种类型的链接可用:

我之前编写了一份指南,已经说明了硬链接是什么以及为什么要使用这些链接 ,因此本指南主要关注软链接或符号链接,因为它们更为人知。

什么是硬链接

文件系统中的每个文件都由一个称为inode的数字标识。 大多数时候你不会真正关心这个,但是当你想创建一个硬链接时,这个重要性就变得很重要。

通过硬链接,您可以为不同位置的文件分配不同的名称,但本质上它完全是同一个文件。 将文件链接在一起的关键是inode编号。

硬链接的优点是它们不占用任何物理硬盘空间。

硬链接使文件分类更容易。 例如,假设您有一个充满照片的文件夹。 您可以创建一个名为假日照片的文件夹,另一个文件夹称为孩子照片,第三个文件夹称为宠物照片

你可能会有一些适合所有三类的照片,因为它们是与你的孩子和狗在一起度假的。

您可以将主文件放在假日照片照片中,然后在小孩的照片类别中创建该照片的硬链接,并在宠物照片类别中创建另一个硬链接。 没有额外的空间被占用。

您只需输入以下命令即可创建硬链接:

ln / path / to / file / path / to / hardlink

想象一下,假期照片文件夹中有一张名为BrightonBeach的照片,并且您想在孩子的照片文件夹中创建一个链接,您可以使用以下命令

ln /holidayphotos/BrightonBeach.jpg /kidsphotos/BrightonBeach.jpg

您可以通过使用ls命令来确定有多少文件链接到相同的inode,如下所示:

ls -lt

输出将类似于-rw-r -r-1用户名groupname日期文件名。

第一部分显示用户的权限。 重要的是权限之后和用户名之前的数字。

如果数字是1,它是唯一指向特定inode的文件(即它没有链接)。 如果该数字大于1,则它被2个或更多文件难以链接。

什么是符号链接

符号链接就像是从一个文件到另一个文件的快捷方式。 符号链接的内容是链接到的实际文件或文件夹的地址。

使用符号链接的好处是您可以链接到其他分区和其他设备上的文件和文件夹。

硬链接和符号链接之间的另一个区别是,必须针对已存在的文件创建硬链接,而在指向现有文件之前可以创建软链接。

要使用以下语法创建符号链接:

ln -s / path / to / file / path / to / link

如果您担心覆盖已存在的链接,可以使用-b开关,如下所示:

ln -s -b / path / to / file / path / to / link

这将创建一个链接的备份,如果它已经存在通过创建相同的文件名,但在结尾处带有波形符号 (〜)。

如果一个文件已经存在与符号链接相同的名称,您将收到一个错误。

您可以使用以下命令强制链接覆盖文件:

ln -s -f / path / to / file / path / to / link

如果没有-b开关,您可能不想使用-f开关,因为您将丢失原始文件。

另一种方法是收到一条消息,询问您是否要覆盖文件,如果该文件已存在。 你可以用下面的命令来做到这一点:

ln -s -i / path / to / file / path / to / link

你如何判断文件是否是符号链接?

运行以下ls命令:

ls -lt

如果文件是符号链接,您将看到如下所示的内容:

myshortcut - > myfile

您可以使用符号链接导航到另一个文件夹。

例如,假设你有一个链接到/ home / music / rock / alicecooper / heystoopid,叫做heystoopid

您可以使用以下命令运行以下cd命令导航到该文件夹​​:

cd heystoopid

概要

就这样。 您使用象捷径这样的符号链接。 它们可以用于缩短真正漫长的路径,并且可以轻松访问其他分区和驱动器上的文件。

本指南显示了有关符号链接的所有知识,但您可以查看其他交换机的ln命令的手册页。