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 Prochaine révision Les deux révisions suivantes | ||
doc:systeme:cp [20/06/2009 18:51] smolski |
doc:systeme:cp [22/09/2015 19:43] paskal [Syntaxe] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== cp ====== | ||
+ | |||
+ | * Objet : cp | ||
+ | * Niveau requis : {{tag>débutant avisé}} | ||
+ | * Commentaires : //Copie de fichier. // | ||
+ | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) | ||
+ | * Suivi : | ||
+ | * Création par [[user>MaTTuX_]] <date> //Mattuxalem...// | ||
+ | * Testé par [[user>smolski]] le 20-06-2009 | ||
+ | * Commentaires sur le forum : [[http://debian-facile.org/viewtopic.php?id=1478 | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | ===== Présentation ===== | ||
+ | |||
+ | La commande ''cp'' permet la copie de fichiers. | ||
+ | |||
+ | ===== Syntaxe ===== | ||
+ | |||
+ | <code user>cp [option]... [-T] source cible</code> | ||
+ | <code user>cp [option]... source... dossier</code> | ||
+ | <code user>cp [option]... -t dossier source...</code> | ||
+ | | ||
+ | |||
+ | Elle s'utilise sous plusieurs formes : | ||
+ | |||
+ | ===== Copie d'un fichier source dans un fichier distant ===== | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | Créer le fichier //essai// avec [[doc:editeurs:nano|la commande nano]] : | ||
+ | <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> | ||
+ | |||
+ | <file config retour de la commande>amsn_received bin Desktop Documents essai foto logs public_html</file> | ||
+ | | ||
+ | |||
+ | |||
+ | 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> | ||
+ | <file config retour de la commande>amsn_received bin Desktop Documents essai1 essai foto logs public_html</file> | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | Le répertoire courant est représenté par un . (Voir à ce sujet [[doc:programmation:shell:repertoires|le tuto des répertoire]]). \\ | ||
+ | On peut donc copier un fichier qui se trouve dans un répertoire donné en indiquant seulement le chemin où il se trouve. | ||
+ | |||
+ | Depuis un répertoire courant dans lequel je veux copier le fichier //test// qui se trouve en **/home/martin/archives**, je tape la commande suivante : | ||
+ | <code user>cp /home/martin/archives/test .</code> | ||
+ | |||
+ | //Pas plus compliqué que cela !// | ||
+ | |||
+ | souvent ,l'utilisateur souhaite copier des fichiers d'un dossier vers un autre sans avoir a ecrire les fichiers un a un : | ||
+ | <code user>cp /chemin_de_ton_dossier/* /chemin_vers_ton_répertoire .</code>(merci a paskal) | ||
+ | |||
+ | ===== Copie d'un fichier dans un répertoire différent ===== | ||
+ | |||
+ | On va, par exemple, copier le fichier //essai// d'où nous nous trouvons par défaut sur le bureau (Le bureau est en effet un répertoire nommé Desktop !) : | ||
+ | <code user>cp essai /home/mattux/Desktop</code> | ||
+ | |||
+ | Résultat | ||
+ | <code user>ls /home/mattux/Desktop</code> | ||
+ | |||
+ | <file config retour de la commande>435076.gif MozillaFirefox.desktop | ||
+ | beryl-settings.Profile myComputer.desktop | ||
+ | essai Network.desktop</file> | ||
+ | |||
+ | <note important>**ATTENTION ! :** \\ | ||
+ | Si le fichier //essai// existe déjà dans le répertoire de destination (Desktop //dans cet exemple//), son contenu est écrasé par le nouveau contenu du fichier essai du répertoire source ! | ||
+ | </note> | ||
+ | |||
+ | |||
+ | ==== Option -i ==== | ||
+ | |||
+ | Afin de contrôler la copie, on utilise l'option **-i** ainsi : | ||
+ | <code user>cp -i essai /home/mattux/Desktop</code> | ||
+ | |||
+ | Si un fichier //essai// est déjà présent sur le bureau (répertoire /Desktop), **cp** s'interrompt et demande par | ||
+ | <file config commande interactive>y (yes) ou n (no)</file> | ||
+ | s'il doit écraser le fichier ! | ||
+ | |||
+ | <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> | ||
+ | |||
+ | ===== Copie de fichiers depuis des répertoires différents ===== | ||
+ | |||
+ | Indiquer le chemin complet pour chacun des fichiers à copier. | ||
+ | |||
+ | Syntaxe : | ||
+ | <code user>cp /chemin1/fichierA /chemin2/fichierB /chemin3/fichierC /répertoire_de_destination/</code> | ||
+ | |||
+ | ==== Plusieurs fichiers depuis le même répertoire ==== | ||
+ | |||
+ | Se placer dans le répertoire d'origine avec [[:doc:programmation:shell:cd | la commande cd]], et taper : | ||
+ | <code user>cd /répertoire_d_origine/</code> | ||
+ | |||
+ | Puis | ||
+ | <code user>cp fichierA fichierB fichierC /répertoire_de_destination/</code> | ||
+ | |||
+ | === Commande bash === | ||
+ | |||
+ | Rédiger une commande bash en utilisant les accolades {} ainsi : | ||
+ | <code user>cp /répertoire_d_origine/{fichierA,fichierB,fichierC} /répertoire_de_destination/</code> | ||
+ | |||
+ | Ce motif : ''{fichierA,fichierB,fichierC}'' est un [[:doc:programmation:shell:regexp | regexp]], ici dans un contexte bash. | ||
+ | |||
+ | ===== Lien ===== | ||
+ | |||
+ | <code user>man cp</code> | ||
+ | |||
+ | //Voilà pour la commande cp.// | ||