> 文件与目录管理 > link

link: 为文件创建硬链接

`link` 命令用于为现有文件创建硬链接。硬链接共享与原始文件相同的 inode,充当文件系统中指向相同数据的另一个名称。即使原始文件被删除,只要硬链接仍然存在,数据就会保留。

概述

`link` 命令使用指定的两个文件路径来创建硬链接。第一个参数是现有文件的路径,第二个参数是新创建的硬链接的路径。此命令类似于 `ln` 命令的硬链接创建功能,但它不提供任何额外选项,仅提供硬链接创建功能。

主要特点

  • 为现有文件创建硬链接
  • 与原始文件共享相同的 inode
  • 仅在同一文件系统内工作
  • 无法为目录创建硬链接

使用示例

以下是使用 `link` 命令的一些示例。

创建基本硬链接

echo "Hello, World!" > original.txt
link original.txt hardlink.txt
ls -li original.txt hardlink.txt

为 `original.txt` 文件创建一个名为 `hardlink.txt` 的硬链接。

删除原始文件后检查链接

echo "This is a test." > file_to_link.txt
link file_to_link.txt linked_file.txt
rm file_to_link.txt
cat linked_file.txt

演示即使删除原始文件,仍然可以通过硬链接访问数据。

提示与注意事项

使用 `link` 命令时的一些有用提示和需要注意的事项。

理解硬链接

  • 共享 inode: 硬链接与原始文件具有相同的 inode 号。这意味着两个名称指向相同的数据。文件系统会跟踪 inode 的链接计数(link count),直到该计数变为 0,实际数据才会被删除。
  • 文件系统边界: 硬链接只能在同一文件系统内创建。您不能在不同分区或挂载的磁盘上创建文件的硬链接。在这种情况下,您应该使用符号链接 (symlink)。
  • 无法链接目录: `link` 命令无法为目录创建硬链接。目录的硬链接通常不允许,因为它们可能会破坏文件系统的完整性。

`link` 与 `ln` 的区别

  • 功能: `link` 命令仅创建硬链接。而 `ln` 命令可以使用 `-s` 选项创建符号链接,并提供更多选项,如 `-f`(强制覆盖)、`-v`(详细输出)等。
  • 易用性: 在大多数情况下,`ln` 命令更灵活且更方便,因此被广泛使用。`link` 是一个更基础的实用程序,仅提供 `ln` 的硬链接创建功能。

相同类别命令