web-dev-qa-db-fra.com

Unix - copier le contenu d'un répertoire dans un autre

Folder1/
    -fileA.txt
    -fileB.txt
    -fileC.txt

> mkdir Folder2/

> [copy command]

Et maintenant, Folder2/ ressemble à ceci:

Folder2/
    -fileA.txt
    -fileB.txt
    -fileC.txt   

Comment y arriver? J'ai essayé cp -r Folder1/ Folder2/ mais je me suis retrouvé avec:

Folder2/
    Folder1/
        -fileA.txt
        -fileB.txt
        -fileC.txt

Ce qui est proche mais pas exactement ce que je voulais.

Merci!

81
JDS

Essaye ça:

cp Folder1/* Folder2/
115
Geoff

Assez simple, avec un joker *.

cp -r Folder1/* Folder2/

Mais selon votre exemple, la récursivité n'est pas nécessaire, les éléments suivants suffiront:

cp Folder1/* Folder2/

EDIT:

Ou sautez la partie mkdir Folder2 et lancez simplement:

cp -r Folder1 Folder2
42
Koen.

Pour créer une copie exacte, les autorisations, la propriété et utiliser tous les termes "-a" avec "cp". "-r" copiera le contenu des fichiers mais ne conservera pas nécessairement les mêmes choses.

cp -av Source/* Dest /

(assurez-vous que Dest/existe en premier)

Si vous souhaitez effectuer régulièrement des mises à jour de l'un à l'autre ou vous assurer de copier également tous les fichiers de points, rsync est d'une grande aide:

rsync -av --delete Source/Dest /

Cela est également "récupérable" en ce que vous pouvez le redémarrer si vous l’abandonnez pendant la copie. J'aime "-v" car cela vous permet de regarder ce qui se passe mais vous pouvez l'omettre.

22
Brian White