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
如果您想验证软链接,请转到文件管理器并检查可用的链接文件 –
上述命令在成功创建目录的软链接后不会产生任何输出。因此,您可以使用以下命令验证新创建的软链接 –
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中创建软链接。在这里,我们描述了创建目录软链接的完整过程。此外,我们还解释了删除、定位和删除这些链接的方法。