Есть ли способ заставить 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
кажется бессильным в этом случае и приводит к тому же сообщению.
symbolic-link
cp
Маркус Юний Брут
источник
источник
cp -f
вместо этого?Ответы:
Сделайте
cp
удаление целевого файла перед копированием:От
man cp
:источник
Просто используйте
unlink theSymLink
гдеtheSymLink
фактическая символическая ссылка, затем попробуйте сноваисточник
unlink
имеет тот же эффект, что и (и, следовательно, не имеет преимуществ по сравнению с) более широко используемымrm
. В частности, вродеrm foo
,unlink foo
удалит файл,foo
даже если это обычный файл, а не символическая ссылка. Использованиеunlink
вместоrm
(илиmv --remove-destination ...
) не защищает от случайной потери данных.