cp (Copier)
100%

Ligne de Commande · Leçon 10

cp (Copier)

Apprenez à copier des fichiers et des arborescences tout en contrôlant les écrasements et les attributs conservés.

La commande cp copie des fichiers et répertoires en laissant la source en place. Sa syntaxe élémentaire est :

cp [OPTIONS] SOURCE DESTINATION

Vous pouvez copier un fichier vers un autre chemin, plusieurs fichiers dans un répertoire ou toute une arborescence de manière récursive.

Copier un fichier

Placez d'abord la source, puis la destination :

$ cp mycoolfile /home/pete/Documents/cooldocs

Si /home/pete/Documents/cooldocs est un répertoire existant, la copie y est créée sous le nom mycoolfile. Vous pouvez aussi fournir un nouveau nom de destination :

$ cp mycoolfile /home/pete/Documents/mycoolfile_backup

Dans le second exemple, les données copiées prennent le nom mycoolfile_backup.

Quelle commande copie draft.txt vers un fichier nommé final.txt tout en conservant draft.txt ?

Copier plusieurs fichiers dans un répertoire

Énumérez toutes les sources, puis placez le répertoire de destination en dernier :

$ cp report.txt notes.txt summary.txt /home/pete/Documents/

Lorsque vous fournissez plusieurs sources, le dernier argument doit être un répertoire.

Quelle commande copie a.txt et b.txt dans le répertoire existant archive/ ?

Sélectionner des fichiers avec des jokers

Le shell peut développer des motifs jokers en plusieurs chemins sources :

  • * correspond à n'importe quelle suite de caractères ;
  • ? correspond à un caractère quelconque ;
  • [] correspond à l'un des caractères entre crochets.

Par exemple, copiez les noms qui se terminent par .jpg du répertoire actuel vers Pictures :

$ cp *.jpg /home/pete/Pictures

Prévisualisez les correspondances avant une copie en masse, surtout si la destination contient des données importantes :

$ ls *.jpg
beach.jpg  lunch.jpg  profile.jpg
$ cp *.jpg /home/pete/Pictures

Avant de copier *.jpg, quelle commande montre les noms non cachés auxquels le motif correspond actuellement ?

Copier des arborescences

La copie d'un répertoire et de tout son contenu doit être récursive. Utilisez -r ou -R :

$ cp -r Pumpkin/ /home/pete/Documents

Cette commande copie Pumpkin et ses descendants dans Documents.

-R en majuscule demande également une copie récursive :

$ cp -R website /home/pete/backups/

Le mode archive, -a, convient aux copies de type sauvegarde. Il copie récursivement tout en conservant les liens et de nombreux attributs :

$ cp -a project/ project-backup/

Vous voulez une copie récursive de type sauvegarde de project/, avec conservation des liens et de nombreux attributs. Quelle commande convient ?

Contrôler les écrasements

Par défaut, cp peut remplacer un fichier de destination existant. Utilisez -i pour demander une confirmation avant l'écrasement :

$ cp -i mycoolfile /home/pete/Pictures
cp: overwrite '/home/pete/Pictures/mycoolfile'? n

Utilisez -n lorsqu'une destination existante ne doit pas être écrasée :

$ cp -n mycoolfile /home/pete/Pictures

Avec GNU cp, -f demande de tenter de supprimer une destination existante si elle ne peut pas être ouverte en écriture, puis de recommencer la copie. Cette option ne remplace pas une vérification attentive des cibles. Des alias peuvent aussi ajouter des options comme -i ; examinez une demande inattendue au lieu de supposer une configuration précise.

Quelle commande copie report.txt dans backup/, mais ignore une destination existante portant le même nom ?

Conserver ou actualiser des fichiers

-p conserve le mode, la propriété lorsque les permissions l'autorisent, et les horodatages de la source :

$ cp -p mycoolfile /home/pete/backups/

-u ne copie la source que si la destination manque ou si la source est plus récente :

$ cp -u *.txt /home/pete/Documents/

Autres options courantes :

  • -f : forcer l'écrasement en supprimant d'abord la destination si nécessaire ;
  • -v : afficher chaque fichier à mesure de sa copie.

Leçon terminée

Vous avez terminé cp (Copier)

Vous savez maintenant copier des fichiers et des arborescences tout en contrôlant le traitement des destinations.

  • Placer les sources avant la destination.

  • Prévisualiser les correspondances des jokers avant une copie en masse.

  • Copier les arborescences récursivement ou en mode archive.

  • Confirmer, ignorer ou remplacer volontairement les destinations existantes.

  • Conserver les attributs ou ne copier que les sources plus récentes.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Leçon Suivante
Retour à Ligne de Commande