rm-Befehl unter Linux

Dateien und Ordner löschen

Der rm Befehl wird in der Linux-Shell verwendet, um Dateien und Ordner zu entfernen.

Wie bei anderen Befehlen kommt auch hier der Name von der Abkürzung dessen, was getan wird: Remove.

Grundlegende Syntax

In schematischer Form sieht der Befehl zum Löschen von Dateien so aus:

1
rm [OPTIONEN] DATEI

Mit einer zusätzlichen Option lassen sich auch Ordner löschen:

1
rm -r [WEITERE OPTIONEN] ORDNER

Hier sind zwei einfache Beispiele dazu:

1
2
rm my.log
rm -r projekte/

Vorsicht beim Löschen

Da der Befehl rm unwiderruflich 💥 löscht, sollte man bei seiner Verwendung besonders wachsam sein.

Hier sind einige konkrete Punkte, die du beachten solltest:

  • verwende rm -i, um unabsichtliches Löschen zu vermeiden
  • lösche möglichst nicht mit Root-Rechten, weil du sonst du ganze Systeme beschädigen kannst
  • verwende Platzhalter nur sparsam: zum Beispiel löscht das Kommando rm * alle Dateien im aktuellen Ordner

Diese Punkte lassen sich vermeiden oder abmildern, indem man vorher auflisten lässt, was man zu löschen gedenkt.

Das kann ganz einfach so aussehen:

1
ls *.txt

Dann überprüfst du in Ruhe die ausgegebene Liste. Und erst wenn du sicher bist, startest du:

1
rm *.txt

Und im Zweifelsfall lieber schrittweise löschen.

Wichtige Optionen

Mit i (interactive) wird rm vor dem Löschen jeder Datei nach Bestätigung fragen:

1
rm -i datei.txt

Das ist besonders bei der Verwendung von Wildcards nützlich, um nicht versehentlich zu viel zu löschen.

Mit r (recursive) kannst du Ordner mit Inhalt entfernen:

1
rm -r projekte/

Bei leeren Ordnern kannst du alternativ auch rmdir verwenden:

1
rmdir projekte/

Das Flag f (force) erzwingt das Löschen ohne Rückfrage:

1
rm -f datei.txt

Auch das sollte man nur ausnahmsweise einsetzen!

Und Details zum Löschen kann man mit v (verbose) sehen:

1
rm -v *.txt

Praktische Beispiele

Sehen wir uns nun an, wie du rm praktisch in verschiedenen Fällen nutzen kannst.

einzelne Datei löschen

In der einfachsten Form wird ein konkretes Element gelöscht:

1
rm liste1.txt

mehrere Dateien löschen

Wir können das Ganze erweitern, indem wir gleich mehrere Dateien angeben:

1
rm liste1.txt liste2.txt liste3.txt

Oder mit einem Platzhalter arbeiten:

1
rm liste*.txt

Ordner löschen

Mit der Option für rekursives löschen kann man Verzeichnisse entfernen:

1
rm -r projekte/

Ordner leeren

Natürlich kannst du auch den Ordner behalten und lediglich den Inhalt löschen.

Achte bitte darauf, dass hier am Ende ein Sternchen steht:

1
rm -r projekte/*

Suchtreffer löschen

Zum Löschen mehrerer Elemente kann man auch gut den Befehl find verwenden.

Zunächst suchen wir alle betreffenden Elemente:

1
find ~ -name '*.txt'

Und dann können wir sie löschen:

1
find ~ -name '*.txt' -delete

Danach kannst du durch Wiederholung der Suche bestätigen, dass die betreffenden Elemente entfernt wurden.

Fazit

Der rm-Befehl ist ein unverzichtbares Werkzeug in der Linux-Shell, erfordert aber Vorsicht ‼️

Mit den oben genannten Optionen und Best Practices kannst du sicherstellen, dass du ihn effizient und sicher einsetzt.

Hilfe zu rm

Mehr zu rm findest du unter man rm und tldr rm. Details zum Befehl tldr gibt es hier.

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy