/usr/bin/rm: Die Argumentliste ist zu lang

Wenn sich in einem Verzeichnis zu viele Dateien ansammeln, kann es passieren, dass der Befehl rm mit der Fehlermeldung „Argumentliste zu lang“ abbricht.

Das liegt daran, dass die Shell eine Begrenzung für die Anzahl der Argumente hat, die sie verarbeiten kann. Um das zu umgehen, kannst du find und xargs nutzen, die die Dateien schrittweise verarbeiten.

Alle Dateien im aktuellen Verzeichnis löschen

find . -type f -print0 | xargs -0 rm
  • find . -type f: Findet alle Dateien im aktuellen Verzeichnis und dessen Unterverzeichnissen
  • -print0 und xargs -0: Null-Byte-Trennzeichen, damit Dateinamen mit Leer- oder Sonderzeichen korrekt verarbeitet werden

Bestimmte Dateitypen löschen, z. B. alle JavaScript-Dateien

find . -name "*.js" -print0 | xargs -0 rm
  • -name "*.js": Filtert nach Dateien mit der Endung .js

Löschvorgang beschleunigen mit xargs und dem -n Parameter

find . -name "*.js" -print0 | xargs -0 -n1000 rm
  • -n1000: Übergibt jeweils 1000 Dateien pro Aufruf an rm, was den Löschvorgang effizienter macht

Vor dem Löschen prüfen:

Nutze echo, um die betroffenen Dateien erst einmal anzuzeigen:

find . -name "*.js" -print0 | xargs -0 -n1000 echo

 




Ein Gedanke zu „/usr/bin/rm: Die Argumentliste ist zu lang“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert