web-dev-qa-db-fra.com

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

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

Quelqu'un pourrait-il me fournir un exemple de la syntaxe de ligne de commande requise pour atteindre cet objectif?

676
pandisvezia

Vous pouvez copier le contenu d'un dossier /source dans un autre dossier existant /dest à l'aide de 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 préserve également les liens symboliques.

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

1025
enzotib

Une alternative est rsync

rsync -r source/ destination

Les avantages de rsync sont:

  1. Après la synchronisation initiale, seuls les fichiers modifiés ont été copiés.

  2. Vous pouvez l'utiliser sur un réseau, ce qui est pratique pour les fichiers de $ HOME, notamment les fichiers de configuration.

120
Panther

Disons que vous avez un dossier appelé folder1 dans votre ~, à l'intérieur de folder1 est 1 fichier nommé fichier1 et 2 dossiers appelés sub1 et sub2 chacun avec d'autres fichiers et dossiers à l'intérieur.

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

cp -r ~/folder1/. ~/new_folder1

new_folder1 contiendrait alors tous les fichiers et dossiers de folder1.

cp est la commande à copier à l'aide d'un terminal, -r le rend récursivement (donc, le répertoire en cours + les autres répertoires dans current) ~/folder1 est le dossier Origin, ~/new_folder1 est le dossier de destination des fichiers/dossiers dans Origin.

72
Bruno Pereira

Cochez cette http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ pour plus d’informations sur la copie d’un dossier. J'espère que cela t'aides.

cp Command

cp est une commande Linux permettant de 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: Conservez les attributs spécifiés tels que le répertoire, le mode de fichier, la propriété, les horodatages, si possible des attributs supplémentaires: contexte, liens, xattr, tous.

-v: Expliquez ce qui est fait.

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

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

$ cp -avr /tmp/conf/ /tmp/backup
14
Dilip Rajkumar

S'il y a deux dossiers: (avec permission 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

vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .

Vous devez noter 2 points. Le dernier point dit copier ici dans le présent dossier

et

un suivant/DATA /. indique que tout le contenu du dossier DATA doit être copié, et non le dossier DATA lui-même.

Si vous supprimez ce "." à partir de/DATA /

alors tout le dossier DATA sera copié dans PORTAL (à partir de l'endroit où vous vous en sortez).

2
vimal krishna