Pour copier des fichiers et des répertoires, utilisez la commande cp sous les systèmes d'exploitation de type Linux, UNIX et BSD. cp est la commande entrée dans un shell Unix et Linux pour copier un fichier d'un endroit à un autre, éventuellement sur un système de fichiers différent. Le fichier original reste inchangé, et le nouveau fichier peut avoir le même nom ou un nom différent.
Niveau de difficulté | Facile |
Privilèges de la racine | Non |
Exigences | Terminal Linux |
Catégorie | Gestion des fichiers |
Compatibilité avec les systèmes d'exploitation | AIX-Alma-Alpine-Arch-BSD-Debian-Fedora-HP-UX-macOS- Mint -openSUSE- Pop!_OS -RHEL- Rocky -Stream-SUSE-Ubuntu-Unix-WSL |
Durée de lecture estimée | 4 minutes |
Syntaxe de la commande cp
La syntaxe est la suivante pour copier des fichiers et des répertoires à l'aide de la commande cp :
$ cp SOURCE DEST
$ cp SOURCE DIRECTORY
$ cp SOURCE1 SOURCE2 SOURCE3 SOURCEn DIRECTORY
$ cp [OPTION] SOURCE DEST
$ cp [OPTION] SOURCE DIRECTORY
Où,
- Dans la première et la deuxième syntaxe, vous copiez le fichier SOURCE vers le fichier DEST ou le REPERTOIRE.
- Dans la troisième syntaxe, vous copiez plusieurs SOURCE(s) (fichiers) dans le REPERTOIRE.
Note : Vous devez taper la commande cp à l'invite du signe dollar ($). Cette invite signifie que le shell est prêt à accepter les commandes que vous avez tapées. Ne tapez pas le signe dollar ($). Vous devez ouvrir l'application Terminal pour utiliser la commande cp sous Linux.
Exemples de fichiers de copie Linux
Pour faire une copie d'un fichier appelé file.doc dans le répertoire actuel en tant que newfile.doc, entrez :
$ cp file.doc newfile.doc
$ ls -l *.doc
Exemples de résultats :
-rw-r--r-- 1 veryv wheel 20 Mar 20 17:42 file.doc -rw-r--r-- 1 veryv wheel 20 Mar 20 17:43 newfile.doc
Vous pouvez copier plusieurs fichiers simultanément dans un autre répertoire. Dans cet exemple, copiez les fichiers nommés main.c, demo.h et lib.c dans un répertoire nommé backup dans le répertoire actuel :
$ cp main.c demo.h lib.c backup
Si la sauvegarde est située dans le répertoire ou le dossier /home/project/, alors utilisez le chemin complet comme suit :
$ cp main.c demo.h lib.c /home/project/backup/
Copier un fichier dans un autre répertoire
Pour copier un fichier de votre répertoire actuel dans un autre répertoire appelé /tmp/, entrez :
$ cp filename /tmp
$ ls /tmp/filename
$ cd /tmp
$ ls
$ rm filename
Option Verbose
Pour voir les fichiers au fur et à mesure qu'ils sont copiés, passez l'option -v comme suit à la commande cp :
$ cp -v filename.txt filename.bak
$ cp -v foo.txt /tmp
Voici ce que je vois :
foo.txt -> /tmp/foo.txt
Préserver les attributs des fichiers
Pour copier un fichier vers un nouveau fichier et préserver la date et l'heure de modification, ainsi que la liste de contrôle d'accès associée au fichier source, entrez :
$ cp -p file.txt /dir1/dir2/
$ cp -p filename /path/to/new/location/myfile
Cette option (-p) force cp à préserver les attributs suivants de chaque fichier source dans la copie, comme le permettent les permissions :
- Date et heure de la modification
- Temps d'accès
- Drapeaux de fichiers
- Mode fichier
- ID de l'utilisateur (UID)
- ID du groupe (GID)
- Listes de contrôle d'accès (ACL)
- Attributs étendus (EA)
Copie de tous les fichiers
Le caractère générique étoile représente tout, c'est-à-dire tous les fichiers. Pour copier tous les fichiers d'un répertoire dans un nouveau répertoire, entrez :
$ cp * /home/tom/backup
Le caractère générique étoile représente tout ce dont le nom se termine par l'extension .doc. Ainsi, pour copier tous les fichiers document (*.doc) d'un répertoire dans un nouveau répertoire, entrez :
$ cp *.doc /home/tom/backup
Copie récursive
Pour copier un répertoire, y compris tous ses fichiers et sous-répertoires, dans un autre répertoire, entrez (copy directories recursively) :
$ cp -R * /home/tom/backup
Commande Linux copy file avec option interactive
Vous pouvez obtenir une invite avant d'écraser un fichier. Par exemple, si l'on souhaite faire une copie d'un fichier appelé foo et l'appeler bar et si un fichier nommé bar existe déjà, la commande suivante invitera l'utilisateur avant de remplacer tout fichier portant un nom identique :
$ cp -i foo bar
Sortie verbeuse avec la commande cp
Si vous passez le -v au cp, il fait des commentaires sur ce qui se passe. C'est la sortie verbeuse :
$ cp -v file1 file2
$ cp -avr dir2 /backups/
Conclusion
Cette page explique la commande cp qui est utilisée pour copier des fichiers sous Linux et les systèmes similaires à Unix. Pour plus d'informations, consultez les pages de manuel en utilisant la commande help ou la commande man comme suit :
$ man cp
$ man ls
$ cp --help