Confusão no comando cp ao criar um novo diretório

4

Deixe-me explicar meu problema com um cenário mais simples. Temos esses dois diretórios: ~/Foo e ~/Bar . Foo contém os arquivos test1.txt e test2.txt . Se eu executar o comando cp -R Foo Bar , o diretório Bar agora conterá uma pasta Foo contendo os dois arquivos de texto. No entanto, se eu executar o comando cp -R Foo Bar quando o diretório Bar ainda não existir antes do comando ser executado, o diretório Bar recém-criado não conterá um subdiretório Foo , mas apenas os dois arquivos .txt .

Por que é quando eu executo o comando na primeira situação que ele cria um subdiretório com os dois arquivos, mas na segunda situação apenas copia os dois arquivos para o novo diretório? O programa cp deve funcionar desta maneira?

    
por user3222254 22.01.2014 / 07:34

1 resposta

4

O comando cp Foo Bar diz "Copie o diretório Foo para Bar ". Se já existir, colocará Foo dentro de Bar . Se você quiser copiar explicitamente o conteúdo de Foo , use cp -r Foo/ Bar/ ou, melhor, use rsync -a . Para elaborar: se Bar não existir, será criado com cp ; se isso não acontecer, ele funcionará como o destino para o qual você deseja copiar arquivos.

    
por 22.01.2014 / 07:49

Tags