Como substituir um link simbólico por uma cópia de um arquivo ao qual ele está vinculado?

Como substituir um link simbólico por uma cópia de um arquivo ao qual ele está vinculado?

Tendo um link simbólico (único, sem necessidade de processamento de sistema de arquivos em lote), qual linha de comando usar para substituí-lo por uma cópia do arquivo ao qual ele está vinculado?

Responder1

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

Responder2

Você poderia fazer:

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

(que apenas copia o conteúdo, não os metadados do arquivo, como permissões e propriedade).

informação relacionada