cp -R parentFolder/folder2 parentFolder/folder1/folder1.1/folder2
Digamos que eu tenha uma estrutura de pastas assim:
/parentFolder/
folder1/
folder1.1/
file1
folder2/
file2
Como faço para copiar a pasta2 dentro da pasta1.1 para que o arquivo2 também esteja em
/parentFolder/folder1/folder1.1/folder2/file2
ie para que a estrutura da pasta seja assim:
/parentFolder/
folder1/
folder1.1/
folder2/
file2
file1
folder2/
file2
?
Se eu for apenas cp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
, copie o conteúdo da pasta2, mas também quero copiar a pasta2.
Pergunta relacionada: a resposta também se aplica a mv
?
Eu prefiro usar rsync
para esse tipo de ação. Além de copiar os arquivos, ele pode copiar as permissões e melhorar a velocidade de transferência em relação ao cp
convencional.
O /
no destino é crucial para sua necessidade.
Tente algo como:
rsync -aHSv /parentFolder/folder2 /parentFolder/folder1/
Qual cp
você está usando? As ferramentas do UNIX são semelhantes entre sistemas diferentes, mas podem se comportar de maneira diferente em algumas situações.
GNU cp
tem o comportamento que você deseja. O BSD cp
tem o comportamento que você descreve. Tente remover a barra do primeiro argumento e escreva:
cp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
em vez de:
cp -R /parentFolder/folder2/ /parentFolder/folder1/folder1.1
De acordo com a wikipedia (1) , é assim que o BSD cp
faz o que você quer.