Copie o diretório não apenas o conteúdo

1

Eu quero copiar um diretório para outro diretório.

Por exemplo, cp -r dir1 dir2 copia o conteúdo de dir1 para dir2. Eu quero copiar dir1-se em dir2 para que se eu ls dir2 ele irá produzir dir1 e não o que estava dentro de dir1.

    
por Eric Majerus 10.08.2014 / 19:40

2 respostas

2

Faça o que você fez:

cp -r dir1 dir2

e você terá dir1 (com seu conteúdo também) dentro de dir2 . Tente se você não acredita; -).

O comando que copia o conteúdo de dir1 para dir2 é:

cp -r dir1/* dir2

    
por 10.08.2014 / 19:45
2

Veja o manual do cp (também mv):

   cp [OPTION]... [-T] SOURCE DEST
   cp [OPTION]... SOURCE... DIRECTORY
   cp [OPTION]... -t DIRECTORY SOURCE...

Se você fizer cp a b , então, se b não existir, você receberá cp -T a b , mas se b existir e for um diretório, você receberá cp -t b a , senão, erro.

Exemplo

mkdir empty
cd empty
mkdir a
touch a/a-file
cp -r a b #this creates b a copy of a
cp -r a b #this time it makes a copy of a called a in b (b/a)

Exemplo 2

mkdir empty
cd empty
mkdir a
touch a/a-file
cp -r -T a b #this creates b, a copy of a
cp -r -T a b #updates b (no effect in this case)

Exemplo 3

mkdir empty
cd empty
mkdir a
touch a/a-file
mkdir b
cp -r -t b a #copy a into b
cp -r -t b a #updates a/b (no effect in this case)
    
por 10.08.2014 / 23:34