La commande cp
La commande cp
dans les systèmes d'exploitation de type Unix est un outil puissant pour copier des fichiers et des répertoires. Elle signifie "copier" et est utilisée de manière intensive par les administrateurs système et les développeurs pour gérer les systèmes de fichiers.
Introduction à cp
La commande cp
est simple mais polyvalente. Elle vous permet de copier un ou plusieurs fichiers ou répertoires vers un autre emplacement dans votre système de fichiers. Avec cp
, vous pouvez dupliquer des fichiers, sauvegarder des données importantes ou même créer une hiérarchie de répertoires avec une seule commande.
Syntaxe de base
La syntaxe de base de la commande cp
est la suivante :
cp [options] source destination
source
: Le ou les fichiers(s) ou répertoire(s) que vous souhaitez copier.destination
: L'emplacement cible où vous souhaitez que le ou les fichiers(s) ou répertoire(s) soient copiés.
Options
La commande cp
est accompagnée d'une variété d'options qui modifient son comportement. Voici quelques options couramment utilisées :
-a
: Mode archive ; préserve les attributs de fichier et copie les répertoires de manière récursive.-i
: Mode interactif ; demande une confirmation avant écrasement.-f
: Mode force ; écrase les fichiers existants sans demander de confirmation.-n
: Ne pas écraser un fichier existant.-p
: Préserve le mode du fichier, la propriété et les horodatages.-r
: Mode récursif ; copie les répertoires de manière récursive.-u
: Mode mise à jour ; copie uniquement lorsque le fichier source est plus récent que le fichier de destination.-v
: Mode verbeux ; affiche la progression de l'opération de copie.
Copie de fichiers
Pour copier un seul fichier, vous pouvez utiliser la commande cp
suivie du fichier source et du fichier ou répertoire de destination.
Exemple 1 : Copie d'un seul fichier
cp example.txt /home/user/backup/
Cette commande copie example.txt
du répertoire courant vers le répertoire /home/user/backup/
. Si example.txt
existe déjà dans la destination, il sera écrasé.
Sortie :
Pas de sortie affichée à moins que vous n'utilisiez l'option -v
pour le mode verbeux.
Exemple 2 : Copie avec un nouveau nom de fichier
cp example.txt /home/user/backup/example_backup.txt
Ici, example.txt
est copié vers le répertoire /home/user/backup/
et renommé en example_backup.txt
.
Sortie :
Pas de sortie à moins que -v
soit utilisé.
Copie de répertoires
La copie de répertoires nécessite l'option récursive -r
pour inclure tous les fichiers et sous-répertoires.
Exemple 3 : Copie d'un répertoire
cp -r my_directory/ /home/user/backup/
Cette commande copie de manière récursive le répertoire my_directory
et son contenu vers le répertoire /home/user/backup/
.
Sortie :
Pas de sortie à moins que -v
soit utilisé.
Préservation des attributs
Pour préserver les attributs de fichier tels que les horodatages et les permissions d'accès, utilisez l'option -p
.
Exemple 4 : Préservation des attributs de fichier
cp -p example.txt /home/user/backup/
Cette commande copie example.txt
tout en préservant ses attributs.
Sortie :
Pas de sortie à moins que -v
soit utilisé.
Copie interactive
Pour éviter d'écraser accidentellement des fichiers, utilisez l'option -i
pour demander une confirmation avant l'écrasement.
Exemple 5 : Mode interactif
cp -i example.txt /home/user/backup/
Si example.txt
existe dans la destination, cp
demandera une confirmation avant de continuer.
Sortie :
cp: écraser '/home/user/backup/example.txt' ?
Copie de plusieurs fichiers
Vous pouvez copier plusieurs fichiers en les listant avant la destination.
Exemple 6 : Copie de plusieurs fichiers
cp file1.txt file2.txt file3.txt /home/user/backup/
Cette commande copie file1.txt
, file2.txt
et file3.txt
vers le répertoire /home/user/backup/
.
Sortie :
Pas de sortie à moins que -v
soit utilisé.
Utilisation des jokers
Les jokers peuvent être utilisés pour copier un groupe de fichiers qui correspondent à un modèle.
Exemple 7 : Utilisation des jokers
cp *.txt /home/user/backup/
Cette commande copie tous les fichiers .txt
dans le répertoire courant vers le répertoire /home/user/backup/
.
Sortie :
Pas de sortie à moins que -v
soit utilisé.
Ce qu'il faut surveiller
- Écrasement de fichiers : Soyez prudent lors de la copie de fichiers pour éviter d'écraser des données importantes. Utilisez
-i
ou-n
pour éviter les écrasements accidentels. - Permissions : Assurez-vous d'avoir les permissions nécessaires pour lire les fichiers source et écrire dans la destination.
- Liens symboliques : Par défaut,
cp
copie les cibles des liens symboliques, pas les liens eux-mêmes. Utilisez-d
pour copier les liens. - Préservation des attributs : Lors de l'utilisation de
-a
ou-p
, assurez-vous d'avoir les permissions nécessaires pour définir les attributs préservés sur les fichiers de destination.
N'oubliez pas de toujours vérifier vos commandes pour éviter la perte de données due à des écrasements accidentels. Pratiquez avec différents scénarios pour devenir compétent avec cette commande polyvalente.