Mikähän mahtaa olla raj?
Argumenttilistan pituus merkkeinä selviää Linuxissa komennolla:
getconf ARG_MAX
Omassa järjestelmässäni saan arvon 2097152. Nykyisin tuota voi säätää ajonaikana kasvattamalla pinon kokoa (oletuksena 8 MB, ja ARG_MAX on neljäsosa siitä). Jos tiedostonimen pituus on keskimäärin 12 merkkiä ja nimet erotellaan yhdellä merkillä, listaan mahtuu n. 160 000 tiedostoa.
Tässä lisää kyseisestä rajoitteesta:
http://www.in-ulm.de/~mascheck/various/argmax/mc:llä olen muistaakseni poistanut esim. /usr jossa yli 350 000 tiedostoa.
Kyllähän rm -R poistaa /usr:n ilman tuota varoitusta, koska kyseisen komennon argumenttilistan pituus on vain 7 merkkiä (plus ympäristömuuttujat). Kamaran tapauksessa yhdessä hakemistossa oli törkeä määrä tiedostoja, ja komentotulkin *-ekspansio täytti argumenttilistan tiedostojen nimillä. Jos hakemiston voi poistaa rekursiivisesti, eli alihakemistot ja hakemiston itsensä saa poistaa myös, -R toimii tässäkin.