Skip to main content

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

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox (六月 2025)

How to Setup Multinode Hadoop 2 on CentOS/RHEL Using VirtualBox (六月 2025)
Anonim

使用符号链接就像快捷方式一样。它们可用于缩短非常长的路径,并且可以轻松访问其他分区和驱动器上的文件。

本指南显示了您需要了解的有关符号链接的所有信息,但您可以查看其他开关的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

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

例如,假设您有一个链接 /家庭/音乐/摇滚/埃利斯·库珀/ heystoopidheystoopid。

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

cd heystoopid