何时应使用硬链接而不是软链接?

何时应使用硬链接而不是软链接?

我即将开始尝试mklink,但我仍在努力真正掌握整个“符号链接”的事情。特别是,我注意到有两种类型的链接 - “软链接”和“硬链接” - 但我很难真正理解两者之间的区别,或者为什么在任何给定的用例中我应该更喜欢其中一种而不是另一种。

到目前为止我所能收集到的最多信息如下:

  • 软链接被视为指针到目标文件/文件夹。
  • 硬链接被视为实际上是目标文件/文件夹。

这对于操作系统和应用程序如何处理链接究竟意味着什么?在决定使用其中一个时,应该权衡哪些因素?

我目前的用例是让 SkyDrive 同步实际 SkyDrive 目录之外的文件/文件夹。但是,我希望答案也能包含一般指导原则,以供将来参考。

答案1

由于软链接是指向文件的指针,因此可能存在悬空软链接。

不可能有悬空硬链接。每个文件至少有一个硬链接,即文件系统中的目录条目。因此,如果您创建一个文件,然后为其创建硬链接,然后删除原始文件,则硬链接不会受到影响。

因此,硬链接可能会让您误以为删除文件后文件真的消失了,但除非您删除所有硬链接,否则文件仍会存在。大多数情况下,您都希望使用软链接,除非您想利用硬链接的这一特定方面。

相关内容