Retourner aux forums || Retourner au forum Linux.debutant
Linux.debutant : faire un cp de ficher .*
Posté par redlums35 () le 21 février 2005Oui oui cela fait plusieurs années que je suis sous linux et voila que j'ai une question de debutant :-)
comment peut-on faire une copie de tout les fichiers .* d'un repertoire vers un autre repertoire
exemple cp /home/toto/.* /home/dupond
mais cette commande ne marche pas car elle remonte dans l'arborescence des fichiers (/home)
Et puis temps qu'on y est comment on fait pour supprimer /home/toto/.* car ca marche pas non plus
Merci
> Lire le message (13 commentaires, moyenne: 1,9).
find ou for ... au choix
Bonjour,
for f in /home/toto/.[^.]* ; do cp -r "$f" /home/dupond/ ; done
Deuxième possibilité, avec find :
find /home/toto/ -maxdepth 1 -name ".?*" -exec cp -r \{\} /home/dupond/ \;
La boucle for est peut être plus lisible.
-
[^]Re: find ou for ... au choix
Posté par Matthieu C () le 21/02/2005 à 19:07. (lien). Évalué à 4.elle sert a quoi ta boucle ?
cp peut prendre plus de 2 parametres-
[^]Re: find ou for ... au choix
-
copie fichiers cachés
-
[^]Re: copie fichiers cachés
Posté par redlums35 () le 21/02/2005 à 18:33. (lien). Évalué à 1.marche pas cette commande :-) ca te copie une arborescence au dessus .
-
[^]Re: copie fichiers cachés
Posté par jfba () le 21/02/2005 à 20:08. (lien). Évalué à 0.Chez moi, ça fait ça :
[jfba@myhost jfba]$ cp ./.* /tmp/KK
[jfba@myhost jfba]$ ls -la /tmp/KK
total 392
-rw-r--r-- 1 jfba jfba 0 fév 21 21:01 .addressbook
-rw------- 1 jfba jfba 2285 fév 21 21:01 .addressbook.lu
-rw-r--r-- 1 jfba jfba 131 fév 21 21:01 .aumixrc
...
...
-rw-r--r-- 1 jfba jfba 0 fév 21 21:01 .Xmodmap~
-rw-r--r-- 1 jfba jfba 415 fév 21 21:01 .xmovierc
-rw------- 1 jfba jfba 1873 fév 21 21:01 .xsession-errors
Je copie tous les .fic de mon répertoire de travail
jfba-
[^]Re: copie fichiers cachés
Posté par Matthieu Moy (page perso, ) le 21/02/2005 à 21:32. (lien). Évalué à 2.Ben je serais curieux de savoir quel "cp" tu utilises parce que moi :
$ cp ./.* /tmp/KK
cp: omitting directory `./.'
cp: omitting directory `./..'
cp: omitting directory `./.AbiSuite'
...
Et avec un cp -r, c'est la cata ...
La vraie solution, c'est plutôt
$ cp .[^.]* ..?* /tmp/KK-
[^]Re: copie fichiers cachés
Posté par jfba () le 22/02/2005 à 20:09. (lien). Évalué à 0.La question était :
comment peut-on faire une copie de tout les fichiers .* ?
avec un exemple :
cp /home/toto/.* /home/dupond
La réponse :
cp ./.* /tmp/KK/
copie bien les fichiers dont le nom commence par un point (en ignorant les répertoires et avec les messages que tu signales)
De même, la 2ème question était :
comment on fait pour supprimer /home/toto/.* ?
La réponse :
cd /tmp/KK
rm -f ./.* (sans avertissement)
rm -- .* fait la même chose
supprime les fichiers copiés précédemment.-
[^]Re: copie fichiers cachés
-
-
-
-
faire un cp de ficher .*
Quand j'ai le même problème, dans mon répertoire home, je fais :
cp .??*
Les "?" remplaçent n'importe quel caractère, mais un seul à la fois. Ca me copie donc tous les fichiers d'au moins 3 caractères commençant par un ".", mais pas les répertoires "." et "..".
Cette commande "raterais" donc des fichiers comme ".a", ".2", mais je sais que je n'ai pas de tels fichiers, et cette commande est simple et courte.
Zsh is your friend
Bon j'arrive un peu après la bataille, mais mieux vaut tard que jamais...
Le shell zsh gère bien mieux la chose que bash.
Un .* est remplacé par tous les fichiers/dossiers cachés, à l'exception de . et ..
Un * est remplacé par tous les fichiers non cachés, ou aussi ceux cachés (sans . et ..) si l'option GLOB_DOTS est mise.
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debutant



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.