[gull] Nombre maximum de fichiers dans un repertoire

Félix Hauri felix at f-hauri.ch
Fri Feb 11 14:20:03 CET 2005


On Fri, Feb 11, 2005 at 10:36:32AM +0100, Jean-Bruno Luginbühl wrote:
> > Cela ne me parait pas si énhorme que ça...
> 
> Non, je confirme. J'en ai eu plus que cela.
Il me semble que moi aussi...

> >  6'000 fichier fois 128 charactères ->600Ko, je vois mal comment bloquer 
> > une machine avec ça:-/
> 
> 
> Non, mais je comprend. C'est le shell qui bloque, pas le système de
> fichier. J'ai eu le problème avec rm. En fait le shell remplace rm (ou
> cp) * par rm fich1 fich2 fich3 fich4 fich5 fich6 fich7 .... Donc la
> ligne d'argument de cp ou rm devient immense.
Juste, n'ai pas cherché à le constater, mais me souvient de problèmes
en faisant /chemin/de/repertoire/* que j'ai résolu en faisant un 
``cd /chemin/de/repertoire'' avant d'utiliser ``*''.

> Et c'est une bonne question pour les gros bras des commande shell, cela
> m'intéresserai d'avoir la réponse....
> 
> 
> > voire find -exec et/ou xargs...
> 
> find -exec, serait peut-être la solution,
find . -maxdepth 1 -mindepth 1 -exec cp {} /ailleur/ \;

me semble être la meilleure solution.

> il n'y aurait pas quelquechose de plus "élégeant". Comme par exemple un
> cp "*" pour que le shell n'interprète pas l'* mais que ce soit cp qui le
> fasse.
Pas à ma connaissance, mais

$ apt-cache search wildcard m'a donné:
...
mmv - Move/Copy/Append/Link multiple files
...
$ apt-cache show mmv
Package: mmv
Priority: optional   Section: utils   Installed-Size: 47...
Description: Move/Copy/Append/Link multiple files
 mmv is a program to move/copy/append/link multiple files
 according to a set of wildcard patterns. This multiple action is
 performed safely, i.e. without any unexpected deletion of files due to
 collisions of target names with existing filenames or with other
 target names.

Cela dit, personellement je continuerais à faire des ``find'' ou 
encore:
$ tar -cpC /source . | tar -xpC /destination
plus ``solide'' et plus rationnelle.
de plus un ``tar -xpvC'' permet de voir les fichiers à l'arrivée,
ou encore un ``tar ...| buffer -S 102400 | tar...'' permet
de suivre le déplacement des donnée en taille sans défilement
(moins lourd pour une console graphique;)

Ou pour balader tout cela a travers un réseau: ``tar | ssh tar'' ou 
encore, en deux commandes ``tar | nc -l'' + ``nc | tar'' sur
un réseau interne.

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch



More information about the gull mailing list