链接是对另一个文件的引用,它为同一文件赋予多个名称,并允许它们同时位于两个或多个位置。链接有两种:软链接:又称符号链接,是原文件的快捷方式;硬链接:这将指向原始文件的内存位置。下图显示了两种类型的链接如何工作:硬链接和软链接都是使用ln命令创建的。本文将介绍如何在Linux中使用ln命令创建各种类型的链接。ln命令示例ln命令的语法非常简单:ln[option]target_filelink_name让我们通过一个示例来了解一下。1、创建指向文件的硬链接要创建指向文件的硬链接,可以不加任何选项使用ln命令,如下:lntarget_filelink_name2、创建指向文件的软链接创建一个软链接指向一个文件,使用ln命令的-s选项:ln-starget_filelink_name在ls-l命令的输出列表中,大多数LInux终端会以不同的颜色显示软链接及其指向的目标;同时,链接将以l开头,而不是普通文件。-,这也是一种识别链接的方法。3.创建一个指向目录的软链接。创建指向目录的软链接与创建指向文件的软链接相同。只需将文件名替换为目录名即可:ln-starget_directorylink_name您可能已经注意到,在Linux终端中,软链接和硬链接的颜色是不同的。通常,无法创建指向目录的硬链接。4.更新现有的软链接(或硬链接)链接可以被覆盖。默认情况下,如果使用已有链接指向新文件,会报错:ln:failedtocreatesymboliclink'soft-link-to-file':Fileexists要覆盖已有链接,有两种方式(即ln命令的两个选项):-i:系统会询问你是否要覆盖已有的链接;-f:强行覆盖已有链接,不会给出确认信息。比如我们要强制覆盖一个已经存在的链接,看下面的例子:ln-sfnew_fileexisting_soft_link这里需要注意,如果要覆盖一个软链接,需要加上-s选项,否则软链接将转换为硬链接。通过链接链获取原始文件通常,当使用ls-l命令查看文件时,链接会显示它指向的文件。但是,如果存在链接链,则不会显示原始文件。例如,创建一个指向文件的链接,然后创建另一个指向第一个链接的链接;在长列表的输出中,第二个链接将指向第一个链接。从链接链中查找原始文件,可以使用readlink-f命令,如下:readlink-fsoft_link选项-f表示follow,即跟随链。为什么需要链接上面我们介绍了如何创建链接,接下来我们来了解一下链接的实际用途。假设我们下载了一个包含代码和可执行文件的软件,然后我们将整个软件放在/opt目录下。但是如果你想从任何路径运行程序,你需要把可执行文件放在/usr/bin目录下。如果我们把可执行文件放在/usr/bin目录下,它可能无法正常运行,因为它需要访问一些代码(即随文件下载的代码),但是/usr/bin目录下的代码找不到文件。在这种情况下,我们可以在/usr/bin目录中创建一个指向可执行文件的链接,而不是将可执行文件移动到那里。这样程序就可以在系统的任何地方运行,而它的可执行文件会留在原地。链接是Linux的重要组成部分,在很多地方都会用到。在系统的/lib目录下,会有很多软链接。
