smazani adresare

Pavel Troller patrol@sinus.cz
Středa Leden 6 21:58:52 CET 2010


> On Wed, 6 Jan 2010, Pavel Troller wrote:
>
>>  tak to jsem zvědav, zda se povede :-). Tohle je věc, nad kterou jsem si
>> lámal hlavu i v Linuxu :-). V adresáři jsem měl cca 35E6 (ano, 35 miliónů)
>> souborů - jeden program se trošku zbláznil a generoval soubory "co to dalo",
>> nakonec došel I-node space na filesystému :-).
>
> To je dost :-)
>
>>  Vtip je v tom, že ani "rm *" nezabíralo - odpovědí bylo "Argument list
>> too long" - trik je totiž v tom, že ten wildcard se snaží shell přeložit na
>> seznam souborů a ten pak předhodit příkazu rm, avšak pří uvedeném počtu už
>> tato strategie nebyla nejvhodnější :-). Nakonec jsem to vzdal a velmi rychle
>> spíchnul malý C-gram (neumím perl, tam by to asi šlo taky), který si hezky
>> systémovými prostředky prošel ten adresář a mazal jeden soubor za druhým...
>> Mazal to asi 3 minuty :-).
>
> Mozna ze :
>
>   echo * | tr ' ' '\n' | while read FILE ; do rm \"$FILE\" ; done
>
> by to zvladlo, mozna pomaleji, ale zase bez programovani :-)
>

Zdravím,
  nezvládlo. Samotné "echo *" havarovalo na Argument list too long. Je to přeci
příkaz jako každý jiný a úplně stejně pro něj platí wildcard expansion jako pro
rm :-).
  Zdraví Pavel.


More information about the Hw-list mailing list