force cp для копирования на оборванных символических ссылках

11

Есть ли способ заставить 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 кажется импотентом в этом случае и приводит к тому же сообщению.

    
задан Marcus Junius Brutus 19.11.2014 в 18:46
источник

2 ответа

15

Сделать 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)
    
ответ дан muru 19.11.2014 в 18:53
источник
1

Просто используйте unlink theSymLink , где theSymLink является фактической символической ссылкой, затем повторите попытку

    
ответ дан SwCharlie 27.04.2015 в 19:58