链接文件(ln 命令)

使用 ln 命令链接文件是一种处理相同数据的便利方式,如同数据处于多个位置一样。

通过给原文件备用名称来创建链接。 链接的使用允许大文件(如数据库或邮件列表)由几个用户共享,而不制作该文件的副本。 链接不但节省磁盘空间,而且对一个文件的更改自动地反映在所有链接的文件中。

ln 命令将 SourceFile 参数中指定的文件链接到 TargetFile 参数指定的文件,或链接到 TargetDirectory 参数指定的另一个目录中的相同文件名。 在缺省情况下,ln 命令会创建硬链接。 要使用 ln 命令创建符号链接,请添加 -s 标志。
注: 如果不使用 -s 标志,那么无法在文件系统之间链接文件。

如果正在将某个文件链接到新的名称,那么只能列示一个文件。 如果链接到一个目录,那么可以列示多个文件。

TargetFile 参数是可选的。 如果您不指定目标文件,那么 ln 命令在您的当前目录中创建文件。 新的文件继承了指定在 SourceFile 参数中的文件名。

请参阅以下示例:
  • 要创建到名为 chap1 的文件的链接,请输入以下命令:
    ln -f chap1 intro
    这会将 chap1 链接到新的名称,intro。 使用 -f 标志时,如果文件名 intro 尚不存在,那么会创建它。 如果存在 intro ,那么该文件将替换为指向 chap1的链接。 chap1intro 文件名都指同一个文件。
  • 要将名为 index 的文件链接到名为 manual 的另一个目录中的同名文件,请输入以下命令:
    ln index manual
    这会将 index 链接到新的名称,manual/index
  • 要将几个文件链接到另一个目录中的名称,请输入以下命令:
    ln chap2 jim/chap3 /home/manual
    这会将 chap2 链接到新名称 /home/manual/chap2 ,并将 jim/chap3 链接到 /home/manual/chap3
  • 要将 ln 命令与模式匹配字符一起使用,请输入以下命令:
    ln manual/* .
    注: 必须在星号和句点之间输入一个空格。
    这会将 manual 目录中的所有文件链接到当前目录(句点 (.)),为它们提供在 manual 目录中具有的相同名称。
  • 要创建符号链接,请输入以下命令:
    ln -s /tmp/toc toc
    这会在当前的目录中创建符号链接 toctoc 文件指向 /tmp/toc 文件。 如果存在 /tmp/toc 文件,那么 cat toc 命令将列出其内容。
  • 要得到同样的结果但不指定 TargetFile 参数,请输入以下命令:
    ln -s /tmp/toc