Как заменить символическую ссылку копией файла, на который она ссылается?

Как заменить символическую ссылку копией файла, на который она ссылается?

Имея (единственную, не требующую пакетной обработки файловой системы) символическую ссылку, какую командную строку использовать, чтобы заменить ее копией файла, на который она ссылается?

решение1

cp --remove-destination "$(readlink <symlink>)" <symlink>

решение2

Вы можете сделать:

file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"

(копируется только содержимое, а не метаданные файла, такие как разрешения и права собственности).

Связанный контент