符号链接相对于硬链接有哪些优势?反之亦然。

符号链接相对于硬链接有哪些优势?反之亦然。

我了解符号链接和硬链接之间的区别,但我不明白为什么选择其中一个。

答案1

这有已经详细讨论过在 ServerFault 上。

硬链接传统上共享相同的文件系统结构(unixspeak 中的 inode),而软链接是路径名重定向。

  • 硬链接必须在同一个文件系统上,软链接可以跨文件系统。
  • 即使您移动其中任何一个,硬链接文件仍保持链接状态(除非您将其中一个文件移动到另一个文件系统,从而触发复制和删除机制)。如果您移动目标(原始文件),软链接文件就会中断,有时当您移动链接时也会中断(您使用的是绝对路径还是相对路径?它仍然有效吗?)。
  • 硬链接文件是平等的,而原始文件在软链接中是特殊的,删除原始文件会删除数据。数据不会消失,直到全部硬链接已被删除。
  • 软链接可以指向任何.目标,但大多数操作系统/文件系统不允许硬链接目录,以防止文件系统图中的循环(unix 目录中的和条目除外,..它们是硬链接)。
  • 软链接可能需要文件系统遍历工具的特殊支持。阅读阅读链接 (2)

(一些细节让我回想起mat1t。 谢谢。)

答案2

Ronald 写道,硬链接在两个地方可以具有不同的权限。这是不对的。两个地方共享相同的 inode。权限与 inode 绑定,而不是文件名。因此,两个地方的硬链接具有完全相同的权限、访问时间……

答案3

符号链接可以跨文件系统,硬链接则不行。如果您删除原始文件,硬链接仍会使其保持活动状态,而符号链接则不会。

答案4

硬链接本质上意味着文件位于两个地方,它可以具有不同的权限,您可以在一个地方删除它,但不能在另一个地方删除它。

软链接只是指向真实事物的指针。

硬链接是两个(或多个)目录项指向同一个文件。软链接是一个目录项指向另一个目录项。

相关内容