Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:cp [17/08/2015 17:31] milou [Copie d'un fichier dans un répertoire différent] |
doc:systeme:cp [24/08/2019 14:58] (Version actuelle) Edenris [Copie d'un fichier distant dans le répertoire courant] |
||
---|---|---|---|
Ligne 13: | Ligne 13: | ||
La commande ''cp'' permet la copie de fichiers. | La commande ''cp'' permet la copie de fichiers. | ||
+ | |||
+ | == Nota == | ||
+ | Pour les petits fichiers, cp convient très bien mais si vous transférez ou copiez des fichiers lourds et nombreux, utilisez les commandes : | ||
+ | * [[doc:reseau:rsync|rsync - synchronisation entre la source et la destination, ce qui correspond à une copie]] | ||
+ | ou : | ||
+ | * [[doc:systeme:mv|mv - déplacement immédiat]] | ||
+ | Ces deux outils offrant plus d'un tiers de vitesse en rapidité d'exécution et une bonne sécurité en utilisant les options de chacun d'eux qui le permettent. \\ | ||
+ | Lien de test sur le forum : | ||
+ | * [[https://debian-facile.org/viewtopic.php?pid=252419#p252419]] | ||
===== Syntaxe ===== | ===== Syntaxe ===== | ||
- | cp | + | <code>cp [option]... source... dossier</code> |
+ | <code>cp [option]... [-T] source cible</code> | ||
+ | <code>cp [option]... -t dossier source...</code> | ||
+ | | ||
Elle s'utilise sous plusieurs formes : | Elle s'utilise sous plusieurs formes : | ||
- | ===== Copie d'un fichier source dans un fichier distant ===== | + | ===== Copie d'un fichier source ===== |
- | Exemple : | + | Exemple de copie du fichier **essai** dans le répertoire principal((le répertoire à la racine de notre user ''/home/user'' en cours)). |
+ | - S'assurer d'être bien positionné dans le répertoire principal avec [[doc:programmation:shell:cd|la commande cd]] ainsi :<code user>cd ~</code> | ||
+ | - Créer un fichier vide //essai// avec la commande [[doc:systeme:touch|touch]] :<code user>touch essai</code> | ||
+ | - On va d'abord vérifier la présence du fichier **essai** à l'aide de [[doc:systeme:ls|la commande ls]] :<code user>ls essai</code><file config retour de la commande>essai</file>Impec le fichier ''essai'' est bien présent. | ||
+ | - On copie maintenant notre fichier **essai** et, pour différencier la copie du fichier original présent dans le même répertoire courant((le répertoire d'où on lance la commande)) on lui accole par exemple le chiffre ''1'' :<code user>cp essai essai1</code> | ||
+ | - On regarde le résultat :<code user>ls essai*</code><file config retour de la commande>essai essai1</file> | ||
- | Créer le fichier //essai// avec [[doc:editeurs:nano|la commande nano]] : | + | On a donc bien copié le fichier **essai** dans le répertoire courant en lui donnant le nouveau nom **essai1**. :-) |
- | <code user>nano essai</code> | + | |
- | essai | + | |
- | + | ||
- | Copie du fichier essai dans le répertoire principal. On va tout d'abord vérifier la présence du fichier essai grâce à [[doc:systeme:ls|la commande ls]]. | + | |
- | <code user>ls</code> | + | |
- | + | ||
- | amsn_received bin Desktop Documents essai foto logs public_html | + | |
- | + | ||
- | + | ||
- | + | ||
- | On copie notre fichier et on le renomme en ajoutant le chiffre1 : | + | |
- | <code user>cp essai .essai1</code> | + | |
- | + | ||
- | On regarde le résultat : | + | |
- | + | ||
- | <code user>ls</code> | + | |
- | amsn_received bin Desktop Documents essai1 essai foto logs public_html | + | |
- | + | ||
- | On a donc copié le fichier essai dans le répertoire courant en lui donnant un nouveau nom soit, ici, essai1. | + | |
===== Copie d'un fichier distant dans le répertoire courant ===== | ===== Copie d'un fichier distant dans le répertoire courant ===== | ||
- | Le répertoire courant est représenté par un . (Voir à ce sujet [[doc:programmation:shell:repertoires|le tuto des répertoire]]). \\ | + | Le répertoire courant est représenté par un . (Voir à ce sujet [[doc:programmation:shell:repertoires|le tuto des répertoires]]). \\ |
On peut donc copier un fichier qui se trouve dans un répertoire donné en indiquant seulement le chemin où il se trouve. | On peut donc copier un fichier qui se trouve dans un répertoire donné en indiquant seulement le chemin où il se trouve. | ||
Ligne 86: | Ligne 84: | ||
<note tip>Au cas d'un trop grand nombre de remplacements demandés (une commande de copie redoublée par inadvertance pour des fichiers volumineux par exemple...) <key>C-c</key> sur le clavier interrompt tous les processus de cp d'un coup...</note> | <note tip>Au cas d'un trop grand nombre de remplacements demandés (une commande de copie redoublée par inadvertance pour des fichiers volumineux par exemple...) <key>C-c</key> sur le clavier interrompt tous les processus de cp d'un coup...</note> | ||
+ | ==== Option -r (récursif) ==== | ||
+ | |||
+ | L'option cp -r permet de copier un répertoire avec son contenu. | ||
+ | |||
+ | Prenons en exemple le répertoire sav_cle_jojo et tout son contenu de fichiers et d'autres répertoires avec leurs répertoires et fichiers contenus aussi en cascade : | ||
+ | <code user>ls sav_cle_jojo</code> | ||
+ | <code config retour de la commande>Affiche commande-2015.odt</code> | ||
+ | * 1 répertoire : Affiche | ||
+ | * 1 fichier : commande-2015.odt | ||
+ | <code user>cp sav_cle_jojo sav_test</code> | ||
+ | <code config retour de la commande>cp: omission du répertoire « sav_cle_jojo »</code> | ||
+ | <code user>cp -r sav_cle_jojo sav_test</code> | ||
+ | <code user>ls sav_test</code> | ||
+ | <code config retour de la commande>Affiche commande-2015.odt</code> | ||
===== Copie de fichiers depuis des répertoires différents ===== | ===== Copie de fichiers depuis des répertoires différents ===== | ||