Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

Verzeichnisse in Linux löschen: ‚rm‘ und ‚rmdir‘ erklärt

Zwei Befehle erledigen die Hauptarbeit, wenn du ein Verzeichnis in Linux löschen willst: rm und rmdir. Auf den ersten Blick sehen sie ähnlich aus, verhalten sich aber sehr unterschiedlich. Den falschen Befehl im falschen Verzeichnis auszuführen, kann deutlich mehr löschen, als du wolltest. Und Linux hat keinen Papierkorb.

Dieser Guide behandelt beide Befehle, alle nützlichen Optionen und die Situationen, in denen jeweils welcher zum Einsatz kommt.

Linux ‚rm‘ und ‚rmdir‘: Befehlsübersicht

Bevor du einen Löschbefehl ausführst, stelle sicher, dass du weißt, wo du dich im Dateisystem befindest. Der pwd -Befehl zeigt dein aktuelles Arbeitsverzeichnis an; ls listet dessen Inhalt auf. Beide solltest du ausführen, bevor du etwas löschst.

Hier die Kurzübersicht, welcher Befehl was tut:

‚rm‘-Optionen auf einen Blick:

  • rm -d – ein leeres Verzeichnis löschen
  • rm -r – ein Verzeichnis und seinen gesamten Inhalt rekursiv löschen
  • rm -f – Bestätigungsabfragen beim Löschen schreibgeschützter Dateien überspringen
  • rm -rf – rekursives Löschen, keine Rückfragen, ob schreibgeschützt oder nicht
  • rm -i – vor jedem einzelnen Löschvorgang nachfragen
  • rm -I – einmalige Rückfrage, wenn mehr als 3 Dateien gelöscht werden
  • rm * – Wildcard für beliebig viele Zeichen
  • rm ? – Wildcard für genau ein Zeichen

‚rmdir‘-Optionen:

  • rmdir -p – ein leeres Unterverzeichnis und sein übergeordnetes Verzeichnis löschen
  • rmdir -v – Bestätigung ausgeben, dass das Verzeichnis gelöscht wurde

Die Faustregel: Nutze rmdir, wenn du sicher bist, dass das Verzeichnis leer ist, und du dich vor versehentlichem Löschen von Dateien schützen willst. Nutze rm -r, wenn du auch den Verzeichnisinhalt löschen musst.

Bevor du einen Löschbefehl in Linux ausführst: Stelle sicher, dass du ein aktuelles Backup hast. Diese Befehle sind endgültig. Es gibt kein Rückgängigmachen.

Leere Verzeichnisse mit ‚rmdir‘ löschen

rmdir ist die sicherere Wahl zum Löschen leerer Verzeichnisse. Der Befehl verweigert schlicht die Arbeit, wenn ein Verzeichnis noch Dateien, Unterverzeichnisse oder Symlinks enthält, und gibt diesen Fehler aus:

rmdir: failed to remove 'Directory': Directory not empty

Dieses Verhalten ist beabsichtigt. Es verhindert, dass du versehentlich einen ganzen Verzeichnisbaum löschst, wenn du dachtest, er wäre bereits leer.

Grundlegende Syntax:

rmdir DirectoryName

Um mehrere leere Verzeichnisse in einem Befehl zu löschen, gib sie als separate Argumente an:

rmdir Directory_1 Directory_2 Directory_3

Unterverzeichnis und übergeordnetes Verzeichnis löschen

Die Option ‚-p‘ löscht ein Unterverzeichnis und arbeitet sich den Pfad nach oben, wobei jedes übergeordnete Verzeichnis gelöscht wird, sofern es nach dem Entfernen des Kindes ebenfalls leer ist:

rmdir -p /Directory/SubDirectory

Das löscht zuerst das Unterverzeichnis, dann das Verzeichnis darüber. Aber nur, wenn das übergeordnete Verzeichnis zu diesem Zeitpunkt nichts anderes mehr enthält.

Löschung mit ‚-v‘ bestätigen

Das -v-Flag gibt eine Meldung für jedes gelöschte Verzeichnis aus. Nützlich, wenn du mehrere Verzeichnisse löschst und nachvollziehen willst, was tatsächlich entfernt wurde:

rmdir -v Simple-Directory

rmdir: removing directory, 'Simple-Directory'

Nicht leere Verzeichnisse mit ‚rm -r‘ löschen

rm ist ein Befehl zum Löschen von Dateien. In Kombination mit -r (rekursiv) wird er zum Standardwerkzeug für das Löschen ganzer Verzeichnisbäume. Das rekursive Flag weist ihn an, in Unterverzeichnisse abzusteigen und alles zu löschen: Dateien, Ordner, alles.

Einfaches rekursives Löschen:

rm -r Simple-Directory

Warnung: Das löscht das Verzeichnis und alles darin dauerhaft. Wiederherstellung geht nur mit einem Backup.

Schreibschutz-Rückfragen mit ‚-rf‘ überspringen

Wenn ein Verzeichnis oder dessen Inhalt schreibgeschützt ist, pausiert ‚rm‘ und fragt vor jeder Datei nach Bestätigung. Wenn du dir sicher bist, was du löschst, überspringt -rf alle Rückfragen:

rm -rf Simple-Directory

Verwende das mit Bedacht. Die Kombination aus rekursiv und force ist die destruktivste Variante des Befehls. Prüfe den Pfad doppelt, bevor du ihn ausführst.

Mehrere Verzeichnisse auf einmal löschen

Du kannst mehrere Verzeichnisnamen als Argumente übergeben, um sie alle in einem einzigen Löschvorgang zu entfernen:

rm -r Directory_1 Directory_2 Directory_3

Dateien unter Linux mit dem ‚rm‘-Befehl löschen

Manchmal willst du gezielt Dateien aus einem Verzeichnis löschen, ohne die Verzeichnisstruktur selbst anzutasten. rm kann auch das.

Eine einzelne Datei aus dem aktuellen Arbeitsverzeichnis löschen:

rm file.txt

Mehrere Dateien auf einmal löschen:

rm file1.txt file2.txt file3.txt

Eine Datei in einem anderen Verzeichnis löschen, indem du den Pfad angibst:

rm dir/subdir/file.txt

Sicheres Löschen mit Bestätigungs-Flags

Das -i-Flag fragt vor jedem Löschvorgang nach Bestätigung. Langsamer, aber sicher, wenn du Dateien löschst, die du länger nicht geprüft hast:

rm -i file1.txt file2.txt file3.txt

Das Terminal fragt bei jeder Datei nach Y/N. Wenn du einen großen Batch löschst und nur eine einzige Bestätigung willst, nutze stattdessen -I:

rm -I file1.txt file2.txt file3.txt

Um alle Bestätigungen zu überspringen (auch bei schreibgeschützten Dateien), nutze -f:

rm -f file.txt

Wildcards zum Löschen mehrerer Dateien verwenden

Wildcards ermöglichen es, Gruppen von Dateien mit einem einzigen Befehl zu erfassen, statt sie einzeln aufzulisten. Das Sternchen steht für beliebig viele Zeichen; das Fragezeichen für genau eines.

Alle ‚.txt‘-Dateien im aktuellen Verzeichnis löschen:

rm *.txt

Alle Dateien löschen, die mit dem Buchstaben ‚a‘ beginnen:

rm a*

Dateien mit einstelliger Dateiendung löschen:

rm *.?

Warnung: Führe zuerst ‚ls‘ aus, um zu sehen, welche Dateien ein Wildcard-Muster trifft, bevor du es mit ‚rm‘ verwendest. Wildcards kümmern sich nicht um die Wichtigkeit einer Datei.

VPS-Dateiverwaltung über SSH-Terminal

Auf einem VPS oder Dedicated Server führst du diese Befehle über SSH aus. Verbinde dich über eine Terminal-Anwendung oder einen SSH-Client. Unter Linux und macOS ist das das integrierte Terminal; unter Windows funktionieren PuTTY oder Windows Terminal.

Wenn du Dateien nicht über die Kommandozeile verwalten willst, bieten die meisten VPS-Anbieter die Möglichkeit, ein Control Panel zu installieren. CyberPanel und cPanel bieten beide einen Dateimanager mit grafischer Oberfläche. Nützlich für Einzelaufgaben, aber langsamer als die Kommandozeile bei allem, was sich wiederholt.

Für schnellen Zugriff ohne zusätzliche Software bieten viele Anbieter mittlerweile ein browserbasiertes Terminal direkt im VPS-Dashboard. Öffne es, authentifiziere dich, und du führst Bash-Befehle direkt aus dem Browser aus, ohne lokalen SSH-Client.

Egal, welche Zugriffsmethode du nutzt: ‚rm‘ und ‚rmdir‘ verhalten sich identisch. Das Einzige, was sich ändert, ist, wie du zum Prompt kommst.

Kurzreferenz: ‚rm‘ vs. ‚rmdir‘

  • rmdir – nur leere Verzeichnisse, standardmäßig sicher, gibt einen Fehler aus, wenn das Verzeichnis Inhalt hat
  • rm -d – ‚rm‘-Äquivalent für leere Verzeichnisse
  • rm -r – löscht nicht leere Verzeichnisse rekursiv; kann nicht rückgängig gemacht werden
  • rm -rf – rekursiv, keine Rückfragen; nur verwenden, wenn du dir sicher bist, was du löschst
  • rm -i – interaktiver Modus; Bestätigung vor jedem Löschvorgang
  • rm * / rm ? – Wildcards für Batch-Löschung; vorher mit ls prüfen

Der Linux-Löschvorgang, der Admins in Schwierigkeiten bringt, ist fast immer rm -rf auf den falschen Pfad gerichtet. Langsam machen, den Pfad mit pwd und ls prüfen, dann ausführen. Diese fünf extra Sekunden verhindern einen richtig unangenehmen Nachmittag.

Nach oben scrollen