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/

Tags

Daten, löschen, Rsync, find