|
|
Copie-4 - Copie de répertoires
Page précédente : CP-3 - Copier sans écraser Page suivante : CP-5 : Copie de répertoires (suite) - Copier sans écraser (suite) Toutes les pages sur la copie - Index de la section - Index de la Base de Connaissances Toutes les pages sur la copie - Index de la section - Index de la Base de Connaissances Copie d'un répertoireLa copie de répertoire, parfaitement possible, mérite d'être examinée avec un certain soin. Vous pouvez copier le sous-répertoire tartes/ de votre répertoire de travail dans le répertoire desserts/, qui s'y trouve aussi, tout simplement comme ceci : cp -a tartes/ desserts/ Notez que c'est aussi ce que vous auriez obtenu, en déplaçant ou en copiant dans Konqueror le répertoire tartes/ dans desserts/ 'à la main'. Copie de plusieurs répertoires (et fichiers éventuels)Comme pour les fichiers, vous pourriez copier en une seule commande plusieurs sous-répertoires et y mêler des copies de fichiers, pourvu que le répertoire de destination de la copie figure en dernier. Ainsi, la commande suivante copierait les répertoires tartes/ et glaces/ dans desserts/ et aussi le fichier charlotte1.txt : cp -a tartes/ glaces/ charlotte1.txt desserts/ Et si le répertoire de destination n'existe pas ??Que se passerait-il à votre avis, si vous vous avisiez, en ligne de commande, d'essayer de copier comme précédemment un répertoire, disons panades/, dans un répertoire soupes/ qui n'existerait pas, du moins dans votre répertoire de travail, de la façon suivante : cp -a panades/ soupes/ Que se passerait-il donc ?? Rien ? une protestation véhémente du système ? Eh bien, attention, attention, dans ce cas particulier, 'cp' crée le répertoire soupes/ ET elle place dans ce nouveau répertoire non pas panades/ mais uniquement son contenu ! Ainsi, s'il existait un fichier panades/auvergnate.txt eh bien, après la copie, il y aura un fichier soupes/auvergnate.txt (et non pas soupes/panades/auvergnate.txt : vous saisissez bien la nuance...). Dans ce cas, un nouveau répertoire est créé qui a le même contenu que panades/ et l'expérience montre que c'est bien souvent ce qu'on souhaite dans une telle circonstance. C'est là quelque chose qui n'a pas de véritable équivalent dans la copie par interface graphique. Vous pourrez trouver un exemple concret de ce type d'utilisation de 'cp' au point 11 de la page sur la conversion de man en Latin1 de la Base de Connaissances de Mandriva, où l'on voit que cette utilisation de 'cp' peut être particulièrement naturelle lorsque l'on souhaite 'mettre à l'abri' temporairement le contenu d'un répertoire avant quelque manipulation un peu risquée (quoique dans l'exemple cité, il n'y ait guère de risque à vrai dire...). Notez que le répertoire créé peut être plus ou moins profondément 'enfoui' dans l'empilement (la 'hiérarchie') des répertoires et sous-répertoires. Si, par exemple, dans votre répertoire de travail existe une hiérarchie de répertoires /hiver/diner ne contenant aucun sous-répertoire portant le nom de 'soupes', la commande : cp -a panades/ hiver/diner/soupes/ MAIS… Attention tout de même à ce qui suit… Et si l'arborescence de destination n'existe pas ??La commande cp ne peut pas créer en une seule fois toute une hiérarchie de répertoires emboîtés les uns dans les autres. S'il se trouve que dans votre répertoire de travail il n'existe aucun répertoire de travail nommé hiver/ alors si vous lancez la commande (identique à celle que nous venons de mentionner) : cp -a panades/ hiver/diner/soupes/ Que faire dans ce cas ? Une façon de s'en sortir pourrait être ceci. Créer une arborescence à l'aide de la commande de création de répertoire 'mkdir' assortie de l'option '-p' qui lui permet de créer les répertoires parents si nécessaire : mkdir -p hiver/diner cp -a panades !$/soupes/
Notez bien la présence de l'option '-a' dans toutes les commandes de cette page… Comme nous le verrons, cela fonctionnerait aussi avec l'option -R (voire -r), mais sinon… non.
Nous examinerons à la page suivante encore quelques autres cas de figure, utiles à bien maîtriser, de copie de répertoires...
Toutes les pages sur la copie - Index de la section - Index de la Base de Connaissances Page suivante : CP-5 : Copie de répertoires (suite) - Copier sans écraser (suite) Auteur : ptyxs (février 2006) Legal: This page is covered by the GNU Free Documentation License . Standard disclaimers of warranty apply. Copyright LSTB and Mandrakesoft. |