我以前曾使用过硬链接,但它们似乎把事情弄得有点混乱……
什么时候适合使用硬链接?何时何地使用硬链接的最佳实践是什么?
谢谢,
担
答案1
当您希望在同一文件系统上的多个文件中拥有相同的内容(和相同的权限!)时,硬链接非常有用。
以包管理器为例,它会为每个已安装的包创建一个 /usr/share/doc/$packagename 目录,并在该目录中创建一个名为 LICENSE 的文件,其中包含包的许可证信息。典型 Linux 系统上的许多包都是 GPL 许可的,因此文件系统上可能只有一份副本和 199 个链接,而不是有 200 份 GPL 副本。
分布式版本控制系统在克隆时会复制整个存储库,没有像 svn 那样的签出。如果同一存储库的多个克隆位于同一文件系统上,它们可以通过使用硬链接共享部分(不可变)文件(git 就是这样做的,如果我没记错的话,darcs 也是这样)。
许多备份解决方案也使用硬链接,例如 rsnapshot 和 backuppc。
答案2
我见过的硬链接的最佳用途是使用 rsnapshot。
答案3
如果您想要实现这一点,则仅当所有硬链接都被删除时,文件才会被删除。
答案4
我的用户有一个文件夹 ~/remote_access,其中包含其他窗口执行程序在其中。此二进制文件是硬链接。
因此,如果有新版本,我只需将其复制到我的家里,所有用户都可以将新版本复制到他们的 USB 记忆棒上。这就像穷人的自动软件升级 ;-)