Ответы:
cp --remove-destination "$(readlink <symlink>)" <symlink>
<symlink>
это символическая ссылка на относительный путь, это работает, только если <symlink>
находится в текущем каталоге. Вы можете использовать readlink -f
. Или если использовать zsh
:cp --remove-destination path/to/symlink(:A) path/to/symlink
Вы могли бы сделать:
file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"
(это копирует только содержимое, а не метаданные файла, такие как права доступа и права собственности).