
Lorsque vous travaillez sur des systèmes Linux et Unix, la copie de fichiers et de répertoires est l'une des tâches les plus courantes que vous effectuerez au quotidien.
cp
est un utilitaire de ligne de commande pour copier des fichiers et des répertoires sur les systèmes Unix et Linux.
Dans cet article, nous allons vous expliquer comment utiliser le cp
commande.
Comment utiliser cp
commande #
La syntaxe générale pour le cp
commande est la suivante :
cp [OPTIONS] SOURCE... DESTINATION
La SOURCE
peut contenir un ou plusieurs fichiers ou répertoires en arguments, et la DESTINATION
l'argument peut être un fichier ou un répertoire unique.
- Lorsque la
SOURCE
etDESTINATION
les arguments sont les deux fichiers, lecp
La commande copie le premier fichier dans le second. Si le fichier n'existe pas, la commande le crée. - Lorsque la
SOURCE
a plusieurs fichiers ou répertoires comme arguments, leDESTINATION
l'argument doit être un répertoire. Dans cette situation, leSOURCE
les fichiers et répertoires sont déplacés vers laDESTINATION
répertoire. - Lorsque la
SOURCE
etDESTINATION
les arguments sont les deux répertoires, lecp
La commande copie le premier répertoire dans le second.
Pour copier des fichiers et des répertoires, vous devez au moins disposer d'autorisations de lecture sur le fichier source et d'une autorisation d'écriture sur le répertoire de destination. Sinon, une erreur d'autorisation refusée s'affiche.
Copier des fichiers avec la commande cp #
Le scénario le plus basique d'utilisation de cp
consiste à copier un fichier dans le répertoire de travail courant. Par exemple, pour copier un fichier nommé file.txt
vers file_backup.txt
, vous exécutez la commande suivante :
cp file file_backup
ou :
cp file{,_backup}
Pour copier un fichier dans un autre répertoire, indiquez le chemin absolu ou relatif vers le répertoire de destination.
Lorsque seul le nom du répertoire est spécifié comme destination, le fichier copié porte le même nom que le fichier d'origine.
Dans l'exemple suivant, nous copions le fichier file.txt
vers le /backup
répertoire :
cp file.txt /backup
Si vous souhaitez copier le fichier sous un nom différent, vous devez spécifier le nom de fichier souhaité. La commande ci-dessous copiera le fichier dans le répertoire spécifié en tant que new_file.txt
.
cp file.txt /backup/new_file.txt
Par défaut, si le fichier de destination existe, il est écrasé. Le -n
l'option indique cp
pour ne pas écraser un fichier existant.
Pour forcer cp
pour demander une confirmation, utilisez le -i
option.
cp -i file.txt file_backup.txt
Si vous souhaitez copier le fichier uniquement s'il est plus récent que la destination, appelez la commande avec le -u
choix :
cp -u file.txt file_backup.txt
Lors de la copie d'un fichier, le nouveau fichier appartient à l'utilisateur qui exécute la commande. Utilisez le -p
option pour conserver le mode de fichier, la propriété et les horodatages :
cp -p file.txt file_backup.txt
Une autre option qui peut être utile est -v
, qui indique cp
pour imprimer une sortie détaillée :
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
Copier des répertoires avec la commande cp #
Pour copier un répertoire, y compris tous ses fichiers et sous-répertoires, utilisez le -R
ou -r
option.
Dans l'exemple suivant, nous copions le répertoire Pictures
vers Pictures_backup
:
cp -R Pictures Pictures_backup
La commande ci-dessus crée le répertoire de destination et copie récursivement tous les fichiers et sous-répertoires de la source vers le répertoire de destination.
Si le répertoire de destination existe déjà, le répertoire source lui-même et son contenu sont copiés dans le répertoire de destination.
Pour copier uniquement les fichiers et sous-répertoires mais pas le répertoire source, utilisez le -T
choix :
cp -RT Pictures Pictures_backup
Une autre façon de copier uniquement le contenu du répertoire mais pas le répertoire lui-même consiste à utiliser le caractère générique (*
). L'inconvénient de la commande suivante est qu'elle ne copie pas les fichiers et répertoires cachés (ceux commençant par un point .
):
cp -RT Pictures/* Pictures_backup/
Toutes les options que nous avons utilisées dans la section précédente lors de la copie de fichiers peuvent également être utilisées lors de la copie de répertoires. La principale différence est que lors de la copie de répertoires, vous devez toujours utiliser le -R
option.
Copier plusieurs fichiers et répertoires #
Pour copier plusieurs fichiers et répertoires à la fois, spécifiez leurs noms et utilisez le répertoire de destination comme dernier argument :
cp file.txt dir file1.txt dir1
Lors de la copie de plusieurs fichiers, la destination doit être un répertoire.
Conclusion #
Copier des fichiers et des répertoires avec le cp
commande est une tâche simple. Pour plus d'informations sur les cp
disponibles options, tapez man cp
dans votre terminal.
Pour copier des fichiers sur le réseau, utilisez le rsync
et scp
utilitaires.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.