答案1
也许编辑器正在做一些奇怪的事情,例如将文件复制到某个临时位置,或者其他什么。
我的建议恰恰相反:始终使用相同的路径编辑文件,并ln -s
在任何地方使用符号链接()。
版本控制系统可能也相关。
答案2
硬链接在 OSX 上运行良好:
$ echo foo > a
$ ln a b
$ cat a
foo
$ cat b
foo
$ echo bar >> b
$ cat a
foo
bar
$ cat b
foo
bar
$
这可能是编辑器的问题(或功能!)。许多编辑器通过写入临时文件然后将该文件移动到您正在编辑的文件的顶部来执行原子写入。这意味着您将删除硬链接:
$ echo baz > c
$ mv c b
$ cat a
foo
bar
我认为没有简单的解决办法。
答案3
按照“教程”http://en.wikipedia.org/wiki/Ln_%28Unix%29#Hard_link,我在 Mac Os X 上执行了完全相同的命令,但它确实没有正常工作。
我起初以为 Mac Os X 有不同的行为,所以我在 Ubuntu 上尝试,但得到了完全相同的结果 :(
所以我能给你的答案是“根据维基百科的解释你确实理解得很好”。或者我们俩都感到困惑?
抱歉,我无法为您提供更多帮助 :(