Linux 如何创建目录的软链接

Linux 如何创建目录的软链接

软链接(symlink或符号链接)是生成的快捷方式,用于访问系统中可用的文件或文件夹。通常,这些软链接用于链接库。软链接允许在不同的文件系统或目标中存储相同文档的多个副本。

该链接引用原始文档的路径和地址。软链接包含以下不同方面:

  • 软链接可以链接到目录和普通文件。

  • 在删除软链接后,原始文档仍然可用。

  • 移动或删除原始文件时,符号链接不起作用。

  • 软链接通常适用于经常使用的文件,这样你就可以在不输入整个位置的情况下快速访问这些文件。

  • 软文件的inode编号和实际链接文件的不同。

软链接类似于网页上的超链接。如果您还想在Linux上创建目录的软链接,请按照本指南操作。

如何在Linux上创建目录的软链接

‘ln’是一个命令行实用程序,用于创建文件或文件夹之间的链接。默认情况下,它创建硬链接。通过在ln命令中使用-s或–symbolic选项,您可以在Linux上创建目录的软链接。以下是您可以遵循的ln命令的基本语法:

ln -s <source file/directory name> <target directory/file name> <soft_link name>
Or
ln --symbolic <source directory name> <target directory/file name> <soft_link name>

例如,让我们通过ln命令将“Documents”链接到“Link”目录 –

~$: ln -s Documents Link

如果您想验证软链接,请转到文件管理器并检查可用的链接文件 –

Linux 如何创建目录的软链接

上述命令在成功创建目录的软链接后不会产生任何输出。因此,您可以使用以下命令验证新创建的软链接 –

ls -l <targeted soft_link directory/file name> <soft_link name>

让我们使用一些例子来更好地理解软链接的创建。

~$: ls -l Documents Link
lrwxrwxrwx 1 prateek prateek 9 Feb 21 12:22 Link -> Documents
Documents: total 24 
-rw-rw-r-- 1 prateek prateek     0 Feb 20 16:10 bash.sh
-rw-rw-r-- 1 prateek prateek     0 Feb 20 16:11 file.txt 
drwxrwxr-x 2 prateek prateek  4096 Feb 20 16:28 'Images'
drwxrwxr-x 2 prateek prateek 20480 Feb 20 16:28 'Information'

为文件创建与同名目录的软链接

这里我们在Documents目录中有一个文件’example.txt’,我们将在Downloads目录中创建此文件的链接。

~$:ln -s /home/prateek/Documents/example.txt Downloads

要验证软链接,请运行以下命令−

~$:ls -l Downloads/example.txt
lrwxrwxrwx 1 prateek prateek 35 Feb 21 13:01 Downloads/example.txt -> /home/prateek Documents example.txt

附加提示 − 在上述命令中,我们使用了绝对路径,这是简单且推荐的。然而,你必须正确明确路径。为此,你可以运行以下命令,将软链接目录设置为终端的当前目录 −

~: cd ~/Downloads
~: ln -s /home/prateek/Documents/example.txt

为文件创建软链接到具有不同名称的目录

在这个例子中,我们将在Downloads目录中创建一个名为Documents1的软链接到Documents目录。在这里,我们将按照上述命令进行操作,然后提到您要创建链接的名称。命令大致如下-

~: ln -s /home/prateek/Documents Downloads/Documents1
~: ls -l Downloads/Documents1
~$: lrwxrwxrwx 1 prateek prateek 23 Feb 21 13:21 Downloads/Documents1 -> /home/prateek Documents

这样,您可以创建一个软链接文件,其链接名称与目录不同。

软链接的权限

当我们改变软链接的权限时,它会通过chmod命令将其转发到目标目录或文件。这是因为chmod命令会将权限更改应用于目标目录,无论更改是否成功。因此,

  • 所有的软链接始终允许权限为0777/lrwxrwxrwx。

  • 软链接的权限永远不能被改变。

覆盖软链接

当创建一个已经存在的软链接时(创建软链接失败),ln命令会打印一个错误消息。

通过在ln命令中使用-f或–force选项,您可以覆盖软链接的目标路径,解决这个错误。

ln -sf <path of the source file/directory> <path of the target file/directory>

注意 - 在更新的Linux版本下对原始文件所做的更改将自动更新或覆盖软链接。

查找所有软链接

您可以使用以下查找命令查看任何文件夹和文件下的所有软链接。

~$: find <path of the file/directory> -type l

例如,让我们找出“下载”目录的所有软链接 –

~$: find Downloads -type l
/home/prateek/Downloads/example.txt
/home/prateek/Downloads/Documents1

查找损坏的链接

如果您将文件从一个目录移动或删除到另一个目录,软链接将自动断开。由于链接没有内容,每次尝试访问该文件都会出现“没有这样的文件或目录”。您可以再次使用下面的find命令来查找这些损坏的链接。

~$: find <path of the file/directory> -xtype l

因此,此命令将显示目录或文件中的所有损坏软链接。可以通过将删除选项添加到上述命令中一次性删除所有损坏的链接。

删除软链接

软链接也像常规文件一样,您可以使用rm命令删除软链接。除此之外,Linux还提供了一个名为unlink的单独实用程序,可以帮助您删除软链接。

您不需要任何参数来删除软链接。按照以下命令删除软链接 –

~$: unlink <path of the soft link>

在这里,我们将解除example.txt文件与Downloads目录的关联 –

~$: unlink /home/prateek/Documents/example.txt

此外,您还可以使用rm命令删除软链接。 rm命令相比unlink命令的优点是可以一次删除多个软链接 –

~$: rm <path of the file/directory> soft link1 softlink2

结论

使用软链接,您可以从多个位置访问任何文件或目录。使用ln命令的-s选项,您可以在Linux中创建软链接。在这里,我们描述了创建目录软链接的完整过程。此外,我们还解释了删除、定位和删除这些链接的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程