小编mar*_*lam的帖子

cp 覆盖而不覆盖目标的硬链接

假设我有以下设置:

$ cat fileA
textA
$ cat fileB
textB
$ ln fileA myLink
$ cat myLink # as expected
textA
Run Code Online (Sandbox Code Playgroud)

我不明白以下行为:

$ cp fileB fileA
$ cat myLink # expected ?
textB
Run Code Online (Sandbox Code Playgroud)

如果我写的话,我会预料到这个结果ln -s fileA myLink,但不是在这里。

我希望cp在覆盖模式下执行以下操作:

  1. fileB复制硬盘上某处 的内容
  2. 链接fileA到该硬盘地址

但相反,我推断它会执行以下操作:

  1. 按照链接操作fileA
  2. fileB复制该地址的内容

似乎并不适用于mv,它按照我的预期工作。

我的问题:

  1. 这是否在我错过的地方进行了解释man cpor man mvman ln
  2. 这种行为只是巧合吗(假设fileB大小并不比 更大fileA,还是可以可靠地用作特征?
  3. 这不就打败了硬链接的想法吗?
  4. 有什么方法可以修改该行cp fileB fileA以便下一个cat …

hard-link cp ln mv

5
推荐指数
1
解决办法
1559
查看次数

标签 统计

cp ×1

hard-link ×1

ln ×1

mv ×1