有时 ,在使用命令行时,可能需要在文件之间创建链接。这可以使用名为 ln 的专用命令来实现。在本教程中,我们将使用一些易于理解的示例来讨论该工具的基础知识。

ln 命令允许在文件之间建立链接,以下是该命令的语法(或者更确切地说是可用的不同语法):

ln [OPTION]... [-T] TARGET LINK_NAME   (第一种形式)
ln [OPTION]... TARGET                  (第二种形式)
ln [OPTION]... TARGET... DIRECTORY     (第三种形式)
ln [OPTION]... -t DIRECTORY TARGET...  (第四种形式)

对于 ln 命令语法说明如下:

  • 在第一种形式中,是创建一个指向 TARGET 的链接,名称为 LINK_NAME
  • 在第二种形式中,创建一个链接到当前目录中的 TARGET
  • 在第三种和第四种形式中,创建指向每个目标的链接目录

默认 ln 命令会创建硬链接,使用 –symbolic 参数则会创建符号链接。 默认情况下,每个目的链接(新链接的名称)不应已存在。 创建硬链接时,每个TARGET 必须存在。符号链接可以保存任意文本,则相对链接是相对于其父目录进行解释。

示例1、使用 ln 命令来创建硬链接

这个操作非常简单,所要做的就是按以下方式使用 ln 命令:

 ln [file] [hard-link-to-file]

例如:

 ln test.txt test_hard_link.txt

可以看出来,创建硬链接会创建一个与原文件相同的文件。

示例2、使用 ln 命令来创建软件链接(符号链接)

创建软链接,则使用 -s 参数即可:

 ln -s [file] [soft-link-to-file]

例如:

 ln -s test.txt test_soft_link.txt

文件 test_soft_link.txt 是一个软链接,可以看出它是指向 test.txt 文件的。

示例3、如何让 ln 删除现有的同名目标文件

默认情况下,如果目标目录中已存在同名文件,则 ln 不会创建链接。如果确定需要创建该链接,则可以使用 -f 参数强制创建链接:

 ln -s -f -i test.txt test_soft_link.txt

注意:命令中使用 -i 参数会提示是否覆盖之前的文件。

示例4、如何使 ln 创建同名现有文件的备份

如果不希望 ln 删除同名的现有文件,可以让它创建这些文件的备份。这可以使用 -b 选项来实现。以这种方式创建的备份文件将在其名称末尾包含波浪号 (~)指明:

 ln -s -b test.txt test_soft_link.txt

示例5、如何在当前目录以外的目录中创建链接

可以使用 -t 命令行选项指定特定的目标目录(当前目录除外), 示例如下:

 ls test* | xargs ln -s -t /home/himanshu/Desktop/

上述命令将创建指向所有 test* 文件(当前目录中存在)的链接,并将它们放在桌面目录中。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注