Posez votre question Signaler

Commande unix pour copier un dossier [Résolu]

jakol - Dernière réponse le 14 mars 2012 à 11:04
salut,
quelle est la commande unix pour copier un dossier contenant plusieurs fichiers dans un shell

merci d'avance de me répondre
A+
Lire la suite 

Commande unix pour copier un dossier »

15 réponses
Réponse
+157
moins plus
salut,
Pour copier un repertoire :
note : [space] n'est pas à taper, cela signifie qu'il faut laisser un espace ! :-)

etre sur l'arbre contenant le repertoire
taper :
#cp [SPACE] -R [SPACE] repertoire [SPACE] /lemplacement
Si on veut changer de nom :
#cp [SPACE] -R [SPACE] repertoire[SPACE] /lemplacement/nouveaunom
Pour ne copier que le contenu :
#cp repertoire/* [SPACE] /lemplacement

enjoy !


_
L'éternité, c'est long, surtout vers la fin !
neo6 - 14 mars 2012 à 11:04
mercci johndoe
Ajouter un commentaire
Réponse
+107
moins plus
RTFM!
Ecoute je te file le nom de la commande, je te donne ce qu'il faut faire pour avoir a utiliser, as tu seulement lu le manuel, non je suis maintenant sur que cp est la bonne commande...et que man cp te donneras exactement ce que tu fois faire!

.  .  Bon!Si on m'empeche de travailler
\_/  Je ne me debattrai pas!
vincs - 22 janv. 2009 à 10:15
En fait, si tu n'as pas envie de l'aider, il suffit que tu ne répondes pas, plutôt que de faire un post à rallonge pour lui dire de se débrouiller.
Jules - 4 juil. 2011 à 08:58
Je vous signal Hô grand bouffi d'orgueil sectaire newbiephobe que 1/ la documentation linux est tellement mal fichue qu'il serait préférable d'abréger sa pitoyable existence, et que 2/ je suis tombé sur votre commentaire dont la réflexion atteint avec une facilité déconcertante -je dois bien l'admettre- le niveau d'un enfant de quatres ans et deux mois en faisant une recherche sur google.Merci donc d'voir pollué le net, en plus de n'avoir aidé en rien à la résolution de ce problème. Voila un peu de lecture pour vous: http://www.siteduzero.com/forum-83-556096-p1-plaidoyer-10-bonnes-raisons-de-bannir-google-est-ton-ami.html
Ajouter un commentaire
Réponse
+99
moins plus
Salut...
La commande est cp, pour les infos sur les options a utiliser, man cp (enfin il me semble bien, ca fait un moment que j'ai pas ete sous unix, mais sous linux c'est ca en tout cas...dis moi si tu trouves pas...)

.  .  Bon!Si on m'empeche de travailler
\_/  Je ne me debattrai pas!
Ajouter un commentaire
Réponse
+8
moins plus
utiliser tout simplement cp -r nomrep destination
Ajouter un commentaire
Réponse
+7
moins plus
Plus complet que cp, et pour les grosses arborescences ou le contenu d'un CD de données, parce que des droits pourraient ne pas être respectés, on peut utiliser tar :
tar -cz /<source> | (cd /<destination> ; tar -xvz)

Au final /<destination>/<source> sera identique à /<source>

Avantages :
- la redirection par le pipe | ne créera pas de fichier temporaire
- la compression par z limitera la consommation de bande passante
- on peut aussi utiliser cette méthode pour un envoi pas ssh ou scp :

ssh <host-source> 'tar -cz /<source>' | tar -xvz
En lançant cette commande depuis le dossier destination sur la machine de destination, on va chercher le dossier /<source> de la machine <host-source> et le transférer intact sans fichier temporaire, en limitant la consommation de bande passante.
kerkael- 7 janv. 2011 à 11:51
En fait la syntaxe tar -cz est valable pour linux, pas pour solaris.

Sous solaris :
tar cvf - <source> | (cd <destination> ; tar xf -)

tar étant fait à l'origine pour envoyer sur bande, on le force à envoyer vers un fichier par le switch f.
Le fichier étant en fait ici "-", soit la sortie standard.
C'est cette sortie standard qui est renvoyée par le pipe "|" vers l'extraction du second tar : tar xf -

le switch c est pour la compression
le switch v est pour le mode verbose, pour afficher le déroulement du transfert

<source> sera créé dans <destination>

Attention si <source> est un chemin absolu, commençant par /, l'effet n'est pas garanti.
Il vaut mieux se déplacer juste en amont de <source> pour le prendre en relatif.
lolopp - 5 janv. 2012 à 17:06
Merci Kerkael ! La commande indiquée ssh <host-source> 'tar -cz /<source>' | tar -xvz est exactement celle que je cherchais : je viens de transférer plusieurs dizaines de Giga d'un serveur avant une réinstall ! :-)
Ajouter un commentaire
Réponse
+5
moins plus
cp -R (en recursif)
++
Ajouter un commentaire
Réponse
+3
moins plus
cp -r
Ajouter un commentaire
Réponse
+2
moins plus
cp -r repertoire-origine/* repertoire-destination/

et voilà... (PS : penser ensuite à rétablir les droits, si vous copiez les données d'un user en étant root, par exemple il faudra faire :

chown nom-du-user:users -R repertoire-destination


(avec users = nom du groupe dont le user fait partie)
qqchquicommenceparQ- 2 oct. 2011 à 15:56
ou utiliser l'option --preserve de cp
Ajouter un commentaire
Réponse
-1
moins plus
merci mais cp marche seulement avec la copie de fichiers mais pas avec le copie de dossier entier
Ajouter un commentaire
Ce document intitulé « commande unix pour copier un dossier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?