Comment puis-je copier le contenu d'un dossier dans un autre dossier dans un répertoire différent à l'aide du terminal?

515

J'essaie de copier le contenu d'un dossier dans un autre dossier dans un répertoire différent à l'aide du terminal.

Quelqu'un pourrait-il me fournir un exemple de la syntaxe de ligne de commande nécessaire pour y parvenir?

    
posée pandisvezia 11.12.2011 - 02:19
la source

5 réponses

781

Vous pouvez copier le contenu d'un dossier /source dans un autre dossier existant /dest avec la commande

cp -a /source/. /dest/

L'option -a est une option récursive améliorée, qui préserve tous les attributs de fichier et conserve également les liens symboliques.

. à la fin du chemin source est une syntaxe spécifique cp qui permet de copier tous les fichiers et dossiers, y compris ceux cachés.

    
réponse donnée enzotib 11.12.2011 - 13:01
la source
96

Un remplaçant est rsync

rsync -r source/ destination

Les avantages de rsync sont:

  1. Après la synchronisation initiale, il ne copiera que les fichiers modifiés.

  2. Vous pouvez l’utiliser sur un réseau, pratique pour les fichiers dans $ HOME, en particulier les fichiers de configuration.

réponse donnée Panther 11.12.2011 - 04:59
la source
56

Disons que vous avez un dossier appelé folder1 dans votre ~ , à l’intérieur de folder1 1 fichier appelé file1 et 2 dossiers appelés < em> sub1 et sub2 chacun avec d’autres fichiers et dossiers à l’intérieur.

Pour copier tout le contenu de ~/folder1 à ~/new_folder1 , vous utiliseriez

cp -r ~/folder1/. ~/new_folder1

new_folder1 contiendrait alors tous les fichiers et dossiers de folder1 .

cp est la commande pour copier en utilisant un terminal, -r la rend récursive (donc, le répertoire courant + les autres répertoires actuels) ~/folder1 est le dossier d'origine, ~/new_folder1 est le dossier de destination des fichiers / folder à l’origine.

    
réponse donnée Bruno Pereira 11.12.2011 - 02:23
la source
13

Consultez cette lien pour plus d'informations sur la copie du dossier. J'espère que ça aide.

cp Command

cp est une commande Linux pour copier des fichiers et des répertoires. La syntaxe est la suivante:

cp source destination
cp dir1 dir2
cp -option  source destination
cp -option1 -option2  source destination

Dans cet exemple, copiez le dossier /home/vivek/letters et tous ses fichiers dans le répertoire /usb/backup :

cp -avr /home/vivek/letters /usb/backup

Où,

-a : conserve les attributs spécifiés tels que répertoire, mode fichier, propriété, horodatage, si possible attributs supplémentaires: contexte, liens, xattr, tous.

-v : Expliquez ce qui est fait.

-r : copie les répertoires de manière récursive. Exemple

Copiez un dossier nommé / tmp / conf dans / tmp / backup:

$ cp -avr /tmp/conf/ /tmp/backup
    
réponse donnée Dilip Rajkumar 25.11.2014 - 06:53
la source
2

S'il y a deux dossiers: (avec l'autorisation d'écriture)

drwxr-xr-x 4 vimal vimal  4096 Sep  9 12:17 .
drwxr-xr-x 3 root  root   4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal  4096 Sep  9 12:15 DATA
drwxrwxrwx 7 vimal vimal  4096 Sep  9 12:15 PORTAL

Si vous êtes dans le dossier appelé PORTAL où vous voulez copier tout le contenu d’un autre dossier, dites DATA au même niveau. alors vous ferez

[email protected]:/var/www/html/PORTAL$ cp -a ../DATA/. .

Vous devez remarquer 2 points. Le dernier point dit copie ici dans le dossier actuel

et

un suivant / DATA /. dit que tous les CONTENTS contenus dans le dossier DATA doivent être copiés, et non le dossier DATA lui-même.

Si vous supprimez cette fin "." de / DATA /

alors tout le dossier DATA sera copié à l'intérieur de PORTAL (à partir duquel vous copiez).

    
réponse donnée vimal krishna 09.09.2015 - 12:39
la source

Lire d'autres questions sur les étiquettes