Grosse Datenmengen löschen
Fr, 27. Januar 2023, Lioh Möller
Beim Versuch eine grosse Anzahl kleiner Dateien unter Linux mittels rm zu löschen, kann es möglicherweise zu folgendem Fehler kommen
Argument list is too long
Eine Möglichkeit dies zu umgehen ist die Nutzung von find. Folgender Befehl kann dabei im betreffenden Verzeichnis ausgeführt werden und löscht alle Dateien und Ordner rekursiv:
find . -type f -delete
Mithilfe des print Parameters werden die entsprechenden Dateien ausgegeben:
find . -type f -print -delete
Möchte man nun nur bestimmte Dateien löschen, beispielsweise alle, welche mit a beginnen, kann folgender Befehl genutzt werden:
find . -name 'a*' -type f -print -delete
Noch effektiver geht es durch die Nutzung von rsync:
Dazu wird zunächst ein leeres Zielverzeichnis erstellt. Der Aufruf erfolgt danach wie folgt:
mkdir leeres_verzeichnis
rsync -a --delete leeres_verzeichnis/ zu_löschende_daten/