我有两个目录条目,a 和 b。之前,a 和 b 指向不同的 inode。之后,我希望 b 指向与 a 相同的 inode。我希望这是安全的——我的意思是如果我在某个地方失败了,b 要么指向它的原始 inode,要么指向 a inode。尤其是我不想以 b 消失而告终。
mv 在覆盖时是原子的。
当目的地已经存在时,ln 似乎不起作用。
所以看起来我可以说:
ln a tmp mv tmp b
如果发生故障,会留下一个“tmp”文件,这是不可取的,但不是灾难。
有一个更好的方法吗?
(我实际上想要做的是用包含该内容的单个 inode 替换具有相同内容的文件,在所有目录条目之间共享)