在UNIX中编辑软链接文件


3

假设我有文件A,使用'ln -s A B',我有B。

当我打开,编辑并保存B时,现在B不再是符号链接。这只是A的新副本。

  • 这是预期的行为吗?我使用Mac OS X,并且想知道它在UNIX中是否常见。
  • 在这种情况下,有什么方法可以将B保持为与A的(软链接)?还是将B作为硬链接是解决此问题的唯一方法?
  • 使用软链接比硬链接有什么优势?

添加

在Mac上,我使用的编辑器是“ TextMate”。


您正在使用什么编辑器?
杰森·阿克森

报告编辑器中的错误-不好的行为。
乔纳森·莱夫勒

Answers:


6

当编辑器保存到临时文件,删除原始文件,然后重命名临时文件时,就会发生这种情况。并非所有编辑器都遵循这种行为,但是大多数编辑器都是出于可靠性的考虑。并且将其设为硬链接将无济于事,因为无论如何该链接都会被删除。


如果所涉及的编辑器是emacs,则可以关闭该行为,但这是有充分理由的,您应该在取消它之前考虑一下。
dmckee 2010年

1
我一直使用VIM进行此操作,并且链接不会中断。
Nathan Fellman'9

@Nathan如Ignacio所述,并非所有编辑都遵循此行为。vim没有。
matthias krull

@mugen:我知道。我并不是要与他矛盾,而是要建议一个使用链接效果很好的编辑器。
内森·费尔曼

@Nathan:vim通常遵循Ignacio描述的方法(如果保存文件时发生坏事,例如完整磁盘或电源故障,该方法可减少潜在的损害:此方法可确保您至少拥有旧的或新的版本,并且更改是原子的)。但是,如果发现此方法会产生不良影响(符号链接,带有硬链接的文件,不可写的目录等),vim会直接修改该文件。
吉尔斯(Gilles)2010年
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.