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


15

Tendo um link simbólico (único, não necessário o processamento do sistema de arquivos em lote), que linha de comando usar para substituí-lo por uma cópia do arquivo ao qual ele vincula?

Respostas:


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

1
error "-bash: erro de sintaxe próximo ao token inesperado` newline '"quando executado em um ambiente debian.
Lin Song Yang

Se <symlink>for um link simbólico para um caminho relativo, isso só funcionará se o <symlink>estiver no diretório atual. Você pode querer usar readlink -f. Ou se estiver usando zsh:cp --remove-destination path/to/symlink(:A) path/to/symlink
Stéphane Chazelas

0

Você poderia fazer:

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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.