你可能知道windows的系统有个叫快捷方式的文件,当你为一个文件或者目录创建快捷方式时,无论你将快捷方式放在哪里,都会打开原来的那个文件或者目录,但在Linux下没有快捷方式的概念,我们称为: 符号链接(也称为软链接)是指向另一个文件或目录的特殊类型的文件

链接类型

Linux / UNIX系统中有两种类型的链接:

  • 硬链接  您可以将硬链接视为现有文件的附加名称。硬链接将两个或多个文件名与相同的inode相关联。您可以为单个文件创建一个或多个硬链接。无法为目录和不同文件系统或分区上的文件创建硬链接
  • 软链接  软链接类似于Windows中的快捷方式。它是指向文件或目录的间接指针。与硬链接不同,符号链接可以指向不同文件系统或分区上的文件或目录。

命令

ln命令用于在文件之间创建链接。默认情况下,ln命令会创建硬链接。要创建软链接,请使用-s--symbolic)选项

ln命令的语法如下:

ln [OPTIONS] FILE LINK

创建符号链接

在Linux中创建符号链接,请打开终端并键入:

ln -s source_file symbolic_link

symbolic_link参数是可选的。如果未指定符号链接,则ln命令将在当前目录中创建新链接

创建符号链接到文件

在下面的示例中,我们将为my_file.txt 文件创建一个名为my_link.txt的符号链接:

ln -s my_file.txt my_link.txt

要验证是否已创建符号链接,请使用以下ls命令:

ls -l my_link.txt

输出看起来像这样:

lrwxrwxrwx 1 myfreax users  4 Nov  2 23:03  my_link.txt -> my_file.txt

l字符是表示符号链接的文件类型的标志。->符号显示该文件的符号链接指向。

为目录创建符号链接

创建目录的符号链接与创建文件符号链接的命令是一样的。只需将目录名称指定为第一个参数,将符号链接指定为第二个参数。

例如,要创建从/mnt/my_drive/movies目录到~/my_movies目录的符号链接:

ln -s /mnt/my_drive/movies ~/my_movies

覆盖符号链接

如果您尝试创建已存在的符号链接,则ln命令将打印错误消息。

ln -s my_file.txt my_link.txt
ln: failed to create symbolic link 'my_link.txt': File exists

要覆盖符号链接的目标路径,使用-f--force)选项。

ln -sf my_file.txt my_link.txt

删除符号链接

您可以使用unlinkrm命令删除/删除现有的符号链接

unlink命令的语法很简单:

unlink symlink_to_remove

使用rm命令删除符号链接与删除文件时相同:

rm symlink_to_remove

您应该更喜欢使用该unlink实用程序来删除符号链接。

如果删除源文件或将其移动到其他位置,则符号文件将保持悬空状态。你应该删除它,因为它将不再起作用

至此你应该很好地理解如何使用Linux ln命令以及如何创建符号链接。如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持