Grosse Datenmengen löschen

  Lioh Möller   Lesezeit: ~1 Minute  🗪 4 Kommentare

Beim Löschen von grossen Datenmengen unter Linux kommt es möglicherweise zu einem Fehler, oder der Vorgang dauert sehr lange. Wir zeigen, wie es effektiver geht.

grosse datenmengen löschen

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

👓
Geschrieben von 👓 am 27. Januar 2023 um 14:21

Gibt es eigentlich auch einen Papierkorb im Terminal?

BastelAndi
Geschrieben von BastelAndi am 28. Januar 2023 um 00:09

Das ist meines Wissens nur mit einem zusätzlichem Programm wie z.B. trash-cli möglich, welches du dann aber auch mit seinen Kommandos für die Löschvorgänge nutzen musst.

tuxfanmatze
Geschrieben von tuxfanmatze am 28. Januar 2023 um 16:11

Danke für diese hilfreichen Alltags Tips. Ich finde die Bandbreite eurer Beiträge immer sehr gut. Also praktische Linux Tipps, Distro-Infos, Gesellschaftliches, Meinungen, Podcasts, Veranstaltungen, etc. Weiter so!😎

Phil
Geschrieben von Phil am 30. Januar 2023 um 09:00

Ich muss oft nach Datum löschen und mache es z.B. so:

ls -lA | grep -F "10. Jun 2020" | awk '{print $9}' | xargs -t -i rm {}