Commande cp de Linux
La commande Linux cp (nom complet en anglais : copy file) sert principalement à copier des fichiers ou des répertoires.
Avec la commande cp, les utilisateurs peuvent copier des fichiers ou des répertoires d'un emplacement à un autre et peuvent éventuellement préserver les attributs des fichiers d'origine (tels que les permissions, les horodatages, etc.).
Syntaxe
cp [options] source dest ou cp [选项] 源文件 目标文件
Ici, source (fichier source) représente le chemin du fichier ou du répertoire à copier, et dest (fichier de destination) représente le chemin du fichier ou du répertoire copié.
Description de l'option:
-rou-R: Copie récursivement le répertoire et son contenu (utilisé pour copier des répertoires).-i: Mode interactif ; demande confirmation à l'utilisateur avant d'écraser.-f: Copie forcée ; écrase le fichier de destination sans demander de confirmation.-v: Affiche le processus de copie détaillé (verbeux).-p: Préserve les attributs d'origine du fichier (tels que les permissions, les horodatages, etc.).-a: Mode archive, équivalent à-dpR, qui préserve tous les attributs de fichier et copie les répertoires de manière récursive.-u: Copier uniquement lorsque le fichier source est plus récent que le fichier de destination (mode mise à jour).-l: Créer des liens durs au lieu de copier les fichiers.-s: Créer des liens symboliques (liens souples) au lieu de copier les fichiers.
Exemples
1. Copier un fichier vers un répertoire de destination
cp file.txt /path/to/destination/
Copier file.txt vers le répertoire /path/to/destination/.
2. Copier un fichier et le renommer
cp file.txt /path/to/destination/newfile.txt
Copier file.txt vers le répertoire /path/to/destination/ et le renommer en newfile.txt.
3. Copier récursivement un répertoire
cp -r /path/to/source_dir /path/to/destination/
Copier récursivement le répertoire source_dir et son contenu vers le répertoire de destination.
4. Copier en mode interactif
cp -i file.txt /path/to/destination/
Si un fichier du même nom existe déjà à la destination, l'utilisateur sera invité à confirmer s'il faut l'écraser.
5. Préserver les attributs de fichier
cp -p file.txt /path/to/destination/
Copier le fichier et préserver ses attributs d'origine (tels que les permissions, les horodatages, etc.).
6. Copier uniquement les fichiers plus récents
cp -u file.txt /path/to/destination/
Copier uniquement lorsque file.txt est plus récent que le fichier de destination.
7. Afficher le processus de copie
cp -v file.txt /path/to/destination/
Afficher des informations détaillées sur la copie.
8. Créer des liens matériels ou des liens symboliques
cp -l file.txt /path/to/destination/ # 创建硬链接 cp -s file.txt /path/to/destination/ # 创建符号链接
9. Copier plusieurs fichiers dans un répertoire
cp file1.txt file2.txt /path/to/destination/
Copier plusieurs fichiers dans le répertoire de destination.
10. Copier à l'aide de caractères génériques
cp *.txt /path/to/destination/
Copier tous les fichiers .txt dans le répertoire de destination.
11. Combiner avec la commande find pour copier des fichiers spécifiques
find /path/to/source -name "*.log" -exec cp {} /path/to/destination/ \;Rechercher et copier tous les fichiers .log dans le répertoire de destination.
Ce qui précède ne représente que quelques utilisations courantes de la commande cp. Vous pouvez exécuter la commandeman cppour afficher plus d'options et d'utilisation.
Notes
Si le chemin de destination est un répertoire,
cple fichier ou le répertoire source sera copié dans ce répertoire.Si le chemin de destination est un nom de fichier,
cple fichier source sera copié et renommé selon le nom du fichier de destination.Lors de la copie d'un répertoire, vous devez utiliser l'
-rou-Roption, sinon une erreur sera signalée.Si le fichier de destination existe déjà, par défaut
cpil sera écrasé (sauf si l'-ioption est utilisée).
Référence des commandes Linux