Comment copier des fichiers sous Linux avec la commande cp

La copie de fichiers et de répertoires peut être rapide et simple sous Linux si vous utilisez la commande cp. Nous apprendrons à utiliser cp et profiterons de ses options pratiques qui rendront vos travaux de copie plus sûrs.

Qu'est-ce que la commande cp sous Linux?

Un utilitaire de ligne de commande pour les systèmes Unix et Linux capable de copier à la fois des fichiers et des dossiers, cp est disponible sur pratiquement toutes les distributions Linux. Vous le verrez souvent référencé dans les guides d'accomplissement des tâches de gestion de fichiers sous Linux.

Vous n'avez pas besoin d'être un génie du terminal pour l'utiliser. Sa syntaxe est simple, et il est plus facile à utiliser si vous ouvrez le terminal dans (ou cd vers) le répertoire contenant les fichiers que vous souhaitez copier.

Syntaxe cp

La syntaxe de cp est très similaire à la commande mv , vous obligeant simplement à spécifier une source ou des sources (les fichiers ou dossiers que vous souhaitez copier) et une destination (le répertoire ou le nom de fichier des copies).

 cp [options] >source>... >destination>

Votre commande peut contenir plusieurs sources, mais il ne peut y avoir qu'une seule destination. La destination peut être un autre répertoire, un nouveau nom de fichier ou les deux.

Copie de fichiers avec cp

Si vous souhaitez produire une copie d'un seul fichier dans le même répertoire, mais avec un nom différent, utilisez une commande comme celle-ci:

 cp file.txt newfile.txt

Pour faire la même chose, mais dans un sous-répertoire, utilisez une commande comme celle-ci:

 cp file.txt Backup/newfile.txt

La commande ci-dessus suppose que vous avez un dossier nommé Sauvegarde dans votre répertoire actuel.

Si vous ne voulez pas de nouveau nom pour le fichier, spécifiez simplement le répertoire et non le nom du fichier dans la destination:

 cp file.txt Backup

Pour copier plusieurs fichiers avec cp, écrivez simplement tous les fichiers que vous souhaitez copier, séparés par un espace, avant de donner la destination.

 cp file1.txt file2.txt file3.txt Backup

Pour gagner du temps lors de la copie de plusieurs fichiers, vous pouvez utiliser la balise générique , un astérisque (*), pour copier automatiquement tous les fichiers du répertoire avec la même extension, en utilisant quelque chose comme l'exemple ci-dessous:

 cp *.txt Backup

La commande ci-dessus trouvera tous les fichiers qui se terminent par .txt dans le répertoire actuel et les copiera dans le répertoire de sauvegarde.

Bien sûr, cela n'est utile que si tous ou la plupart des fichiers que vous souhaitez copier ont la même extension, ou quelque chose d'autre en commun dans le nom de fichier.

Utilisation de cp pour copier un dossier / répertoire

Si vous voulez qu'un répertoire et tout son contenu soient copiés dans un nouvel emplacement, vous devrez spécifier l'option -R . Voici un exemple:

 cp -R Files Backup

La commande ci-dessus copiera le dossier Files et placera la copie dans un dossier nommé Backup .

Si vous voulez que le contenu d'un dossier soit copié, mais pas le dossier lui-même, vous devrez utiliser l'option -T :

 cp -RT Files Backup

Options cp utiles

Ces options couramment utilisées pour la commande cp sont principalement utiles si vous êtes préoccupé par d'éventuels écrasements ou conflits d'attributs de fichiers.

Vous remarquerez dans les commandes précédentes que vous ne recevez aucun message du terminal confirmant que quelque chose s'est passé. Pour voir ce qui se passe, utilisez l'option verbose, -v :

 cp -v file.txt newfile.txt

Si vous êtes préoccupé par un écrasement accidentel, vous pouvez définir l'option -i pour toujours demander une confirmation en cas de conflit de nom de fichier. Par exemple:

 cp -i file.txt newfile.txt

Avec la commande ci-dessus, s'il y a déjà un fichier nommé newfile.txt , cp vous demandera si vous êtes sûr de vouloir l'écraser.

Vous pouvez également conserver les attributs de fichier, tels que la propriété de l'utilisateur, le mode de fichier et les dates de modification, avec l'option -p :

 cp -v file.txt newfile.txt

L'option de conservation est utile si vous avez plusieurs utilisateurs sur votre système ou si vous avez une autre opération de synchronisation sensible aux dates de modification des fichiers.

Copie de confiance en ligne de commande

Vous savez maintenant comment utiliser cp pour copier des fichiers facilement et en toute sécurité, et vous avez franchi une étape importante pour devenir confortable et polyvalent en utilisant la ligne de commande Linux.

Si vous avez besoin de créer de grandes sauvegardes de vos fichiers, il existe plusieurs outils disponibles pour les utilisateurs Linux que vous voudrez peut-être envisager.