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 [28/08/2011 19:19] martin_mtl |
doc:systeme:cp [12/05/2015 18:17] Herbert west [Copie d'un fichier distant dans le répertoire courant] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== CP ====== | + | ====== 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. | La commande ''cp'' permet la copie de fichiers. | ||
- | * Syntaxe | + | ===== Syntaxe ===== |
cp | cp | ||
Ligne 9: | Ligne 20: | ||
Elle s'utilise sous plusieurs formes : | Elle s'utilise sous plusieurs formes : | ||
- | ===== La copie d'un fichier source dans un fichier destination ===== | + | ===== Copie d'un fichier source dans un fichier distant ===== |
- | copie du fichier essai dans le répertoire principal. On va tout d'abord vérifier la présence du fichier essai grâce à la commande "[[ls]]". | + | 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> | ||
- | * Exemple | ||
- | | ||
- | mattux@linux-deb:~> ls | ||
amsn_received bin Desktop Documents essai foto logs public_html | amsn_received bin Desktop Documents essai foto logs public_html | ||
| | ||
- | mattux@linux-deb:~> cp essai essai1 | + | |
- | on regarde le résultat : | + | On copie notre fichier et on le renomme en ajoutant le chiffre1 : |
+ | <code user>cp essai .essai1</code> | ||
- | * Résultat | + | On regarde le résultat : |
- | mattux@linux-deb:~> ls | + | <code user>ls</code> |
amsn_received bin Desktop Documents essai1 essai foto logs public_html | 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. | + | On a donc copié le fichier essai dans le répertoire courant en lui donnant un nouveau nom soit, ici, essai1. |
- | ===== La copie d'un fichier dans le répertoire courant ===== | + | ===== Copie d'un fichier distant dans le répertoire courant ===== |
- | ===== La copie d'un fichier dans un répertoire différent ===== | + | 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. | ||
- | On va, par exemple, copier le fichier //essai// sur le bureau (Le bureau est en effet un répertoire nommé Desktop !) : | + | 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> | ||
- | * Exemple | + | //Pas plus compliqué que cela !// |
- | mattux@linux-deb:~> cp essai /home/mattux/Desktop | + | 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) | ||
- | * Résultat | + | ===== Copie d'un fichier dans un répertoire différent ===== |
- | mattux@linux-deb:~> ls /home/mattux/Desktop | + | 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> | ||
435076.gif MozillaFirefox.desktop | 435076.gif MozillaFirefox.desktop | ||
Ligne 52: | Ligne 75: | ||
- | ==== Option -i contrôler la copie ==== | + | ==== Option -i ==== |
+ | Afin de contrôler la copie, on utilise l'option **-i** ainsi : | ||
+ | <code user>cp -i essai /home/mattux/Desktop</code> | ||
- | Afin de contrôler cela, on utilise : | + | Si un fichier //essai// est déjà présent sur le bureau (répertoire /Desktop), **cp** s'interrompt et demande par |
+ | y (yes) ou n (no) | ||
+ | s'il doit écraser le fichier ! | ||
- | Soit : | + | <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...) **Ctrl C** sur le clavier interrompt tous les processus de cp d'un coup...</note> |
- | mattux@linux-deb:~> cp -i essai /home/mattux/Desktop | + | |
- | Si un fichier essai est déjà présent sur le bureau (répertoire /Desktop), cp s'interrompt et demande par y (yes) ou n (no) s'il doit écraser le fichier ! | + | |
- | 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...) **Ctrl C** interrompt tous les processus de cp d'un coup... | + | ===== Copie de fichiers depuis des répertoires différents ===== |
- | + | ||
- | ===== La copie de plusieurs fichiers dans un répertoire différent ===== | + | |
- | + | ||
- | ==== Plusieurs fichiers depuis des répertoires différents ==== | + | |
Indiquer le chemin complet pour chacun des fichiers à copier. | Indiquer le chemin complet pour chacun des fichiers à copier. | ||
Syntaxe : | Syntaxe : | ||
- | + | <code user>cp /chemin1/fichierA /chemin2/fichierB /chemin3/fichierC /répertoire_de_destination/</code> | |
- | cp /chemin1/fichierA /chemin2/fichierB /chemin3/fichierC /répertoire_de_destination/ | + | |
==== Plusieurs fichiers depuis le même répertoire ==== | ==== Plusieurs fichiers depuis le même répertoire ==== | ||
- | === Commande cd === | + | 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> | ||
- | Se placer dans le répertoire d'origine avec [[commande:cd | la commande cd]]. | + | Puis |
- | + | <code user>cp fichierA fichierB fichierC /répertoire_de_destination/</code> | |
- | cd /répertoire_d_origine/ | + | |
- | cp fichierA fichierB fichierC /répertoire_de_destination/ | + | |
=== Commande bash === | === Commande bash === | ||
Rédiger une commande bash en utilisant les accolades {} ainsi : | 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> | ||
- | cp /répertoire_d_origine/{fichierA,fichierB,fichierC} /répertoire_de_destination/ | + | Ce motif : ''{fichierA,fichierB,fichierC}'' est un [[:doc:programmation:shell:regexp | regexp]], ici dans un contexte bash. |
- | + | ||
- | Ce motif : ''{fichierA,fichierB,fichierC}'' est un [[commande:regexp | regexp]], ici dans un contexte bash. | + | |
===== Lien ===== | ===== Lien ===== | ||
- | man cp | + | <code user>man cp</code> |
//Voilà pour la commande cp.// | //Voilà pour la commande cp.// | ||