Niveau de difficulté | Facile |
Privilèges de la racine | Non |
Exigences | Terminal Linux |
Catégorie | Gestion des fichiers |
Conditions préalables | Commande cp et rsync |
Compatibilité avec les systèmes d'exploitation | Alma-Arch-Debian-Fedora- Mint -openSUSE- Pop!_OS -RHEL- Rocky -Stream-SUSE-Ubuntu-WSL |
Durée de lecture estimée | 3 minutes |
Comment copier un dossier avec Commande cp
La commande 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
Exemples de la commande cp de Linux
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 : Préserve les attributs spécifiés tels que le répertoire et le mode du fichier, la propriété, l'horodatage, si possible des attributs supplémentaires : contexte, liens, xattr, tous.
- -v : Sortie verbeuse.
- -r : Copier les répertoires de manière récursive.
Autres exemples de la commande cp pour copier des dossiers sous Linux
Copiez un dossier appelé /tmp/conf/ vers /tmp/backup/ :
$ cp -avr /tmp/conf/ /tmp/backup/
Fig.01 : La commande cp en action
cp -v /home/vivek/Documents/* /data/
Cependant,
Copie de plusieurs répertoires avec la commande cp
Disons que vous voulez copier les dossiers /var/www/html/ et /home/vivek/projects/ et tous les sous-répertoires dans le répertoire /nfs/backup/, alors vous devez taper :
cp -avr /var/www/html/ /home/vivek/projects/ /nfs/backups/
Utiliser la commande rsync de Linux pour copier un dossier
Par défaut, rsync peut ne pas être installée sur votre système. Par conséquent, utilisez la commande apk sous Alpine Linux, la commande dnf/yum sous RHEL. rsync.
rsync -av /path/to/source/ /path/to/destination/ rsync -av /path/to/source/ /path/to/destination/source/
Pour sauvegarder mon répertoire personnel, qui est composé de gros fichiers et de dossiers de messagerie, dans /media/backup, entrez :
$ rsync -avz /home/vivek /media/backup
Je peux copier un dossier sur une machine distante appelée server1.hebergementwebgratuit.com comme suit :
$ rsync -avz /home/vivek/ server1.hebergementwebgratuit.com:/home/backups/vivek/
Où,
- -a Le mode archive, c'est-à-dire la copie d'un dossier avec toutes ses autorisations et autres informations, y compris la copie récursive.
- -v : Mode verbeux.
- -z : Avec cette option, rsync compresse les données du fichier lorsqu'il est envoyé à la machine de destination, ce qui réduit la quantité de données transmises, ce qui est utile sur une connexion lente.
Vous pouvez afficher la progression du transfert en utilisant l'option -progress ou -P :
$ rsync -av --progress /path/to/source/ /path/to/dest
Fig.02 : La commande rsync en action
Conclusion
Vous venez d'apprendre comment copier un dossier sur un système d'exploitation de type Linux en utilisant la commande cp et la commande rsync. En conclusion, utilisez rsync pour un transfert de dossier sur le réseau et cp pour un transfert de disque local. Pour plus d'informations, lisez les pages de manuel suivantes en utilisant la commande man ou la commande help :
man cp cp --help | more man rsync rsync --help | less