Como eu faço uma duplicata de uma árvore de diretórios com links simbólicos duplicados relativamente?

1

Eu quero duplicar o diretório 'foo' e todos os seus subdiretórios para 'foo_copy'.

1) Eu não quero que 'foo_copy' tenha várias cópias de alguns arquivos ou diretórios com uma cópia para cada link simbólico para o arquivo ou diretórios.

2) Eu não quero que os links simbólicos de foo_copy apontem para o diretório 'foo'.

Eu quero uma cópia exata com:

1) 'Arquivos e diretórios do foo_copy que residem no mesmo lugar de foo', exceto agora em 'foo_copy'.

2) 'os links simbólicos de foo_copy apontando para os mesmos arquivos ou diretórios que eles apontaram em' foo ', exceto agora em' foo_copy '.

Não sei se meus links são absolutos ou relativos. Estou esperando por uma solução que funcione de qualquer forma.

Pontos de bônus, isso é para Mac (FreeBSD) com a versão 29 do protocolo rsync versão 2.6.9.

    
por Joe C 08.12.2017 / 19:14

1 resposta

3

Algumas alternativas para cp (que eu suponho que alguém irá responder com a versão BSD) são o utilitário POSIX padrão pax :

$ cd foo
$ install -d ../foo_copy
$ pax -r -w -p p * ../foo_copy/
idem :

$ ditto foo foo_copy

a ferramenta sobre a qual você perguntou, que tem algumas dicas sutis, mas, felizmente, a única que você vai encontrar aqui é a necessidade de usar barras à direita:

$ rsync --archive --hard-links --extended-attributes foo/ foo_copy/

e, claro, a função duplicate ( ⌘ Super + D ) no Finder.

Leitura adicional

por 09.12.2017 / 00:07

Tags