什么时候应该使用硬链接而不是软链接?

Isz*_*szi 10 windows-7 symbolic-link mklink

我即将开始玩弄,mklink但我仍然试图真正掌握整个“符号链接”的东西。特别是,我注意到有两种类型的链接——“软链接”和“硬链接”——但我很难真正理解两者之间的区别,或者为什么我应该更喜欢一种而不是另一种给定的用例。

到目前为止我能收集到的最多的是:

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

就操作系统和应用程序将如何处理链接而言,这究竟意味着什么?在决定使用其中一种还是另一种时,应权衡哪些因素?

我目前的用例是让 SkyDrive 同步实际 SkyDrive 目录之外的文件/文件夹。但是,我希望答案还可以包括供将来参考的一般准则。

Law*_*ceC 6

有可能有悬空的软链接,因为软链接是指向文件的指针。

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

因此,硬链接可能会让您在删除文件时相信它真的消失了,尽管除非您删除所有硬链接,否则该文件仍然存在。大多数时候您想使用软链接,除非您想利用硬链接的这一特定方面。