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


10

我将开始玩弄,mklink但我仍在设法真正掌握整个“符号链接”。特别是,我注意到链接有两种类型:“软链接”和“硬链接”,但是我很难真正理解两者之间的区别,或者为什么我在任何情况下都应该偏爱另一种给定用例。

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

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

就操作系统和应用程序如何对待链接而言,这实际上意味着什么?在决定使用一种或另一种时应权衡哪些因素?

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

Answers:


6

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

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

因此,尽管除非删除所有硬链接,否则该文件仍然存在。大多数时候,除非您想利用硬链接的这一特定方面,否则您都希望使用软链接。


因此,适当的隐喻解释是,软链接只是文件快捷方式,而硬链接是文件的同步副本?
Iszi 2013年

好吧……请记住,硬链接并不会真正复制文件数据。这是另一个物理目录条目。因此,指向文件的两个硬链接不会改变所用磁盘空间。
LawrenceC

如果您对编程概念有所了解,可以将软链接视为传统指针,将硬链接视为引用计数(智能)指针。
稻谷
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.