Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1548 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  Problem avec la commande cp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problem avec la commande cp

n°293519
Le Ouinhin​ Pervers
Posté le 18-07-2003 à 17:09:57  profilanswer
 

Bonjour !
 
J'ai recu mon nouveau disque dur aujourd'hui, et je souhaite transférer mon système d'un disque à l'autre.
 
Pour cela j'utilise cp -av / /mnt/WD
 
Mais comment dire à cp de ne pas copier certains repertoires (/mnt/nt par exemple), quels arguments faut-il lui spécifier ?
 
J'ai lu le man ...

mood
Publicité
Posté le 18-07-2003 à 17:09:57  profilanswer
 

n°293522
chaica
Posté le 18-07-2003 à 17:15:37  profilanswer
 

La commande dd serait peut être plus appropriée.
 
CHaiCA

n°293524
CSCMEUH
Posté le 18-07-2003 à 17:18:53  profilanswer
 

Le Ouinhin Pervers a écrit :


J'ai lu le man ...


Mal alors ;)
 
Tu as oublier l'option -x :
 
  -x, --one-file-system
              stay on this file system
 

n°293529
Le Ouinhin​ Pervers
Posté le 18-07-2003 à 17:23:24  profilanswer
 

J'avais mal lu.
 
Je cherchais un truc du genre --except machin ...
 
Merci en tout cas !

n°293546
Dark_Schne​ider
Close the World, Open the Net
Posté le 18-07-2003 à 18:00:15  profilanswer
 

tu peux pas.
 
fais plutôt une archive tar, car tar supporte ce type d'option, et décompresse ensuite l'archive


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°293888
s-gaia
Posté le 19-07-2003 à 16:06:09  profilanswer
 

Dark_Schneider a écrit :

tu peux pas.
 
fais plutôt une archive tar, car tar supporte ce type d'option, et décompresse ensuite l'archive


 
Je rejoins tout à fait Dark_Schneider qui te conseille de passer par tar !
 
avec une commande comme cp ou mv vers une autre partition, tu vas perdre toutes les infos de tes fichiers concernant les dates des fichiers, leur propriétaire et leur groupe, ainsi que les liens symboliques et physiques.  
 
Voici un copier-coller de la doc très bien faite de Christian CASTEYDE qui pourrait t'intéresser :
 
 
-------------------------------
Un exemple pratique est le déplacement de toute une arborescence de fichiers d'un système de fichiers à un autre. Vous ne pourrez pas y parvenir à l'aide de la commande mv, car celle-ci ne fait que modifier la structure du système de fichiers pour déplacer les fichiers et les répertoires, elle ne peut donc pas fonctionner avec deux systèmes de fichiers. Vous ne pouvez pas non plus utiliser la commande cp, car celle-ci ne prendra pas en compte les dates des fichiers, leur propriétaire et leur groupe, ainsi que les liens symboliques et physiques. Il faut donc impérativement utiliser un programme d'archivage. La méthode à suivre est donc de créer une archive temporaire, puis de se déplacer dans le répertoire destination, et enfin d'extraire l'arborescence de l'archive :  
 
 
cd source
tar cvf archive.tar *
cd destination
tar xvf source/archive.tar
rm source/archive.tar
------------------------------------------
 
Et voilà !
 
 :hello:  
 
le reste des explications permet de faire ça comme un pro. Ne te prends la tête avec ce qui suit, surtout si tu débutes mais c'est bien d'avoir le réflexe d'utiliser les tubes !
 
--------------------------------------
Malheureusement, cette technique nécessite beaucoup de place disque, puisque l'archive temporaire est stockée directement sur disque. De plus, elle est assez lente, car toutes les données à copier sont recopiées sur le disque dur, et relues ensuite, pour finalement être détruites... La vraie solution est de réaliser un tube entre les deux processus tar invoqués. Dans ce cas, le transfert se fait simplement via la mémoire vive :  
 
 
cd source
tar cv * | (cd destination ; tar xvf -)
 
 
La commande à utiliser est cette fois un peu plus compliquée, car la commande d'extraction des fichiers nécessite un changement de répertoire. Il faut donc utiliser une commande multiple du shell. Ces commandes sont constituées de plusieurs autres commandes séparées par des points virgules. La première commande effectuée ici est le changement de répertoire, et la deuxième est l'extraction par tar de l'archive qui lui est transférée par le flux d'entrée standard (représenté ici par '-'). Ces deux commandes sont mises entre parenthèses, car l'opérateur '|' du tube est prioritaire sur l'opérateur ';' de concaténation des commandes du shell. Si vous trouvez que cela est un peu compliqué, je vous l'accorde. Cependant, la commande qui utilise le tube consomme deux fois moins d'espace disque et est deux fois plus rapide que la commande qui n'en utilise pas. Je vous invite à mesurer le gain de temps sur un répertoire contenant un grand nombre de données (utilisez la commande time !).  
----------------------------------
 
 
[:iboll]


Message édité par s-gaia le 19-07-2003 à 16:12:02
n°293889
s-gaia
Posté le 19-07-2003 à 16:06:49  profilanswer
 

Voici l'url d'où vient ce copier-coller :
 
http://casteyde.christian.free.fr/ [...] ml#AEN2072
 
[:iboll]

n°293902
Le Ouinhin​ Pervers
Posté le 19-07-2003 à 16:54:34  profilanswer
 

Je vais essayer ton histoire de tube s-gaia ...
Pour l'instant cela marche ...
 
EDIT: En fait presque:
 
J'utilise cette commande:
 
tar -c -v -l /home/ /proc/ /mnt/ * | (cd /mnt/WD/ ; tar xvf -)
 
pour lui dire de ne pas transmettre home proc et mnt.
Mais il n'a pas l'air de comprendre.
 
EDIT2:
Finalement je lui précisé tout les repertoires qu'il doit transférer et ca a l'air de marcher.


Message édité par Le Ouinhin Pervers le 19-07-2003 à 17:10:12
n°294011
budo-ka
Posté le 20-07-2003 à 01:00:08  profilanswer
 

J'ai un petit doute ;
 
Lorsque l'on fait "tar cvf archive.tar *"
la commande n'oublie t'elle pas d'y inclure dans cette archive les fichiers cachés de du répertoire courant ?


Message édité par budo-ka le 20-07-2003 à 01:00:29
n°294017
CSCMEUH
Posté le 20-07-2003 à 01:29:08  profilanswer
 

budo-ka a écrit :

J'ai un petit doute ;
 
Lorsque l'on fait "tar cvf archive.tar *"
la commande n'oublie t'elle pas d'y inclure dans cette archive les fichiers cachés de du répertoire courant ?


 
Tu as raison de douter :)
J'ai deja perdu de precieuse cle ssh a cause de cela :(
Le charactere * est interpreter par le shell et il ne prend pas en compte les fichiers caches du repertoire courant.  
Utilise plustot le point si tu veux tout prendre avec toi ;)

Code :
  1. tar cvf archive.tar .

mood
Publicité
Posté le 20-07-2003 à 01:29:08  profilanswer
 

n°294091
Le Ouinhin​ Pervers
Posté le 20-07-2003 à 15:53:43  profilanswer
 

Un petit prob:
 
Je suis en train d'utiliser tar en ce moment, et il me fait une archive de 13 GO alors que mon disque ne me fait que 9.79 GO !
J'ai pourtant bien spécifié les dossiers qee je voulais.
Kesako ?

n°294427
Dark_Schne​ider
Close the World, Open the Net
Posté le 21-07-2003 à 16:25:48  profilanswer
 

montre nous ta commande, compresses tu l'archive ?
 
de plus on peux mettre dans un fichier txt les rep/fichiers à exclure et le passer en option ( cf manpage de tar, mais l'option est soit -X , soit --exclude-from )


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  Problem avec la commande cp

 

Sujets relatifs
commande find et grepQuelle est la commande qui permet d'écrire un texte en étoiles?
Les droits sur commande, comment faire ?bash: longue commande -> retour à la ligne qui se fait pas
Editeur VI -> commande pour trier les lignes ?Mettre le résultat d'une commande dans une variable...
probleme avec la commande tr.Commande pour connaitre les cartes installées sur les port pci?
Explorer en mode de commande sous linuxproblem pour relancer un demon depuis la commande cron
Plus de sujets relatifs à : Problem avec la commande cp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR