强制 cp 在悬空符号链接上进行复制

强制 cp 在悬空符号链接上进行复制

有什么方法可以强制cp(Bash 4.2.5,Ubuntu 12.04)复制到悬空的符号链接吗?

cp a-file path/to/danling/symlink/a-file
cp: not writing through dangling symlink `path/to/danling/symlink/a-file`

cp -f在这种情况下似乎无能为力,并导致相同的消息。

答案1

复制之前删除cp目标文件:

$ ln -s /random/file f              
$ cp -f a f                  
cp: not writing through dangling symlink ‘f’
$ cp --remove-destination a f
$ diff a f && echo yes
yes

man cp

--remove-destination
      remove  each existing destination file before attempting to open
      it (contrast with --force)

答案2

只需使用unlink theSymLink实际theSymLink的符号链接,然后重试

相关内容