Viele Dateien löschen
Wenn ich unter Linux auf der Kommandozeile mehrere tausend Dateien mit ârm ~/texte/*.txtâ löschen möchte, bekomme ich die Fehlermeldung âbash: /bin/rm: Argument list too longâ. Was kann man da tun?
Wenn ich unter Linux auf der Kommandozeile mehrere tausend Dateien mit ârm ~/texte/*.txtâ löschen möchte, bekomme ich die Fehlermeldung âbash: /bin/rm: Argument list too longâ. Was kann man da tun?
Unter Linux expandiert die Shell (ĂŒblicherweise die bash) Wildcards wie â*â bei der Angabe von Dateinamen. Dabei gibt es eine maximale Menge von Speicher, die die im Betriebssystem festgelegte Liste der aufgelösten Dateinamen belegen darf. Unter Linux betrĂ€gt dieser Wert typischerweise 128 KByte (er lĂ€sst sich mit âgetconf ARG_MAXâ in Erfahrung bringen). Da bereits die Shell an diesem Betriebssystem-Limit scheitert, sind alle Programme gleichermaĂen betroffen, die man aus der Shell mit Wildcards startet. Abhilfe bietet der âfindâ-Befehl, der Wildcards selbst auflöst. Ein
find ~/texte -name "*.txt" -exec rm {} \;
sollte alle *.txt-Dateien im Verzeichnis ~/texte löschen. (odi) (odi)