Como copiar links simbólicos com caminho relativo no Unix?

0

Eu tenho esta pasta /full/path/sourceFolder com os seguintes arquivos:

full/path/sourceFolder/fileA /full/path/sourceFolder/copyA -> fileA /full/path/sourceFolder/copyB

Você pode ver que o link simbólico aponta para o arquivo na mesma pasta e não usa o caminho completo, mas depende do caminho relativo para vincular.

Agora, preciso de um comando de cópia que copie todos os arquivos chamados copy * no sourceFolder para um destinationFolder. Quando copio o arquivo copyA, ele deve copiar a origem do symlink, ou seja, fileA, mas mantenha o nome copyA. O comando copy também deve funcionar para copiar o arquivo copyB.

Isso pode ser feito?

Eu tentei esses comandos, mas não funciona, principalmente porque minha referência é relativa:

cp -rf --preserve=links /full/path/sourceFolder/copy* /target/path/ cp -RP /full/path/sourceFolder/copy* /target/path/ cp -Hrf /full/path/sourceFolder/copy* /target/path/ cp -Lrf /full/path/sourceFolder/copy* /target/path/

Estou ficando sem ideias, qual é a maneira mais elegante de conseguir isso?

    
por rrlamichhane 15.06.2017 / 23:46

0 respostas