Quando você faz cp -a 1/. 2
, ele está fazendo b
primeiro, mas como b -> a
já existe, o conteúdo de b
é gravado em a
. Então, a->b
é considerado, o que resulta em sobrescrever a
com o link simbólico a->b
. Se você executar cp -a 1/. 2
novamente, deverá obter "Too many levels of symbolic links"
.
Então, sim, cp
segue os links simbólicos no destino. Você pode tentar --remove-destination
, que resolve o problema corretamente para o seu MWE. No entanto, se você tiver links simbólicos como componentes de diretório no destino, eles não serão demolidos por --remove-destination
.
A verdadeira questão é "por que fazer algo assim?" Eu só uso cp -a
com um diretório vazio como destino. Além disso, os sistemas de arquivos que suportam --reflink=always
também têm maneiras mais elegantes de clonar uma árvore de diretórios como backup.