Signaler

Commande unix pour copier un dossier [Résolu/Fermé]

Posez votre question jakol - Dernière réponse le 14 juin 2017 à 18:18 par FF
salut,
quelle est la commande unix pour copier un dossier contenant plusieurs fichiers dans un shell

merci d'avance de me répondre
A+
Utile
+299
plus moins
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 !
Cette réponse vous a-t-elle aidé ?  
neo6- 14 mars 2012 à 11:04
mercci johndoe
jean-michel aulas- 3 mai 2013 à 11:45
merci :)
Queeny- 19 nov. 2013 à 18:17
Petite coquille, il faut ajouter le -R pour "récursif", c'est à dire copier le répertoire dans son intégralité :
#cp -R repertoire/* [SPACE] /lemplacement
FF- 14 juin 2017 à 18:18
Merci, clair et concis
Répondre
Utile
+126
plus moins
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
Utile
+108
plus moins
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!
Utile
+14
plus moins
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 3Messages postés samedi 3 novembre 2007Date d'inscription 23 avril 2012 Dernière intervention - 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 ! :-)
Utile
+12
plus moins
utiliser tout simplement cp -r nomrep destination
Utile
+8
plus moins
cp -R (en recursif)
++
Utile
+6
plus moins
Utile
+6
plus moins
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 861Messages postés dimanche 24 mai 2009Date d'inscription 24 août 2017 Dernière intervention - 2 oct. 2011 à 15:56
ou utiliser l'option --preserve de cp
Utile
+3
plus moins
merci mais cp marche seulement avec la copie de fichiers mais pas avec le copie de dossier entier

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !