PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

Argument list too long

Mist! Schon wieder ist es passiert. Eben mal schnell auf dem Mailserver das Spamverzeichnis killen, und schwups: Kriegt man diese Message an den Kopf geknallt…

Ganz klar, bei ganz fetten Verzeichnissen mit ein paar tausend Einträgen (bei mir warens über 16000 Dateien) kommt sogar die Linux Shell ins stolpern…

Abhilfe zu “bash: /bin/rm: Argument list too long”? No prob - Lösungen um (zu) viele Dateien unter Linux zu löschen, gibts viele:

  • Alle Dateien eines Verzeichnisses löschen:
    ls | xargs rm
  • Der Entwickler-Blog schlägt folgendes vor:
    find -type f -print0 | xargs -0 rm
  • Nur bestimmte Dateien löschen:
    find . -name “*” -exec rm {} ;
  • Nochmal alle Dateien löschen:
    echo * | xargs rm
  • Auch sehr schön mit Schleife ;)
    for file in *; do rm $file; done

cd pub; more beer

- Schönes Wochenende *prost*

  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

University Update - Linux - Argument list too long meint dazu:

17. August 2007 um 18:26

[...] Link to Article linux Argument list too long » This excerpt is from an article posted at [...]

Neonomicus meint dazu:

17. August 2007 um 20:07

Kommt der Fehler bei “rm *”?
Find ich interessant :)

timi meint dazu:

17. August 2007 um 20:54

Ganz genau, der Fehler wird vom “rm *” produziert, denn rm kann nur 1024 Parameter verarbeiten, in diesem Fall also 1024 Dateien…

Wer jetzt aufgepasst hat, weiß das die Shell zunächst die Wildcards auflöst und die Parameter entsprechend ergänzt ;)

Neonomicus meint dazu:

17. August 2007 um 21:59

Cool, wieder was gelernt :)

RSS für Kommentare zu diesem Artikel · TrackBack URI

Schreib Deine Meinung