Linux中的Ln命令(创建符号链接)
符号链接,也称为符号链接或者软链接,是一种指向另一文件或者目录的特殊文件类型。
在本教程中,我们将介绍如何使用'ln'命令创建符号链接。
链接类型
Linux/UNIX系统中有两种类型的链接:
- 硬链接。我们可以将硬链接视为现有文件的添加名称。硬链接将两个或者多个文件名与相同的inode关联。
我们可以为单个文件创建一个或者多个硬链接。无法为其他文件系统或者分区上的目录和文件创建硬链接。
- 软链接。软链接类似于Windows中的快捷方式。它是指向文件或者目录的间接指针。与硬链接不同,符号链接可以指向其他文件系统或者分区上的文件或者目录。
如何使用“ ln”命令
“ ln”是用于在文件之间创建链接的命令行实用程序。
默认情况下,“ ln”命令创建硬链接。
要创建符号链接,请使用'-s'('--symbolic')选项。
用于创建符号链接的'ln'命令语法如下:
ln -s [OPTIONS] FILE LINK
- 如果同时指定了“ FILE”和“ LINK”,则“ ln”将创建从指定为第一个参数(“ FILE”)的文件到指定为第二个参数(“ LINK”)的文件的链接。
- 如果仅给出一个文件作为参数,或者第二个参数是点('。'),则'ln'将在当前工作目录中创建指向该文件的链接。
符号链接的名称将与其指向的文件名相同。
默认情况下,成功时,“ ln”不产生任何输出,并返回零。
创建符号链接到文件
要创建到给定文件的符号链接,请打开终端并输入:
ln -s source_file symbolic_link
将“ source_file”替换为要为其创建符号链接的现有文件的名称,并将“ symbolic_link”替换为符号链接的名称。
'symbolic_link'参数是可选的。
如果未指定符号链接,则“ ln”命令将在当前目录中创建一个新链接:
在以下示例中,我们将创建一个名为“ my_link.txt”的符号链接到名为“ my_file.txt”的文件:
ln -s my_file.txt my_link.txt
要验证是否成功创建了符号链接,请使用“ ls”命令:
ls -l my_link.txt
输出将如下所示:
lrwxrwxrwx 1 theitroad 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
删除符号链接
要删除/删除符号链接,请使用“ unlink”或者“ rm”命令。
“取消链接”的语法非常简单:
unlink symlink_to_remove
使用“ rm”命令删除符号链接与删除文件时相同:
rm symlink_to_remove
无论使用哪个命令,删除符号链接时都不要在其名称末尾添加'/'斜杠。
如果我们将源文件删除或者移动到其他位置,则符号文件将悬垂(损坏),应将其删除。