Linux Deutsch

Arbeiten mit Verzeichnissen unter Linux: mkdir, mv, rmdir und rm

Linux-Verzeichnisse sicher erstellen, verschieben, umbenennen und löschen: mkdir, mv, rmdir und rm -r verständlich erklärt.

Verzeichnisse sind im Linux-Dateisystem die Container, in denen Dateien und weitere Verzeichnisse liegen. Umgangssprachlich werden sie oft als Ordner bezeichnet. Im Terminal ist jedoch meist von Verzeichnissen die Rede.

In diesem Beitrag lernen Sie, wie Sie Verzeichnisse mit mkdir erstellen, mit mv verschieben oder umbenennen und mit rmdir beziehungsweise rm -r löschen. Da Löschbefehle dauerhaft wirken können, steht eine kontrollierte Arbeitsweise im Mittelpunkt.

Verzeichnisse im Linux-Dateisystem

Das Linux-Dateisystem ist hierarchisch als Baum aufgebaut. An der Spitze steht das Root-Verzeichnis /. Darunter liegen Verzeichnisse wie /home, /etc oder /var. Ein Verzeichnis kann Dateien und Unterverzeichnisse enthalten.

Ein Unterverzeichnis liegt innerhalb eines anderen Verzeichnisses. Beispielsweise ist /home/bob/projekt ein Unterverzeichnis von /home/bob. Jeder Pfad beschreibt den Ort eines Verzeichnisses oder einer Datei.

Ein absoluter Pfad beginnt mit / und beschreibt den Ort vom Root-Verzeichnis aus. Ein relativer Pfad bezieht sich dagegen auf das aktuelle Arbeitsverzeichnis der Shell.

PfadArtBedeutung

/home/bob/projekt – absolut – eindeutiger Pfad vom Root-Verzeichnis aus

projekt – relativ – Verzeichnis projekt im aktuellen Arbeitsverzeichnis

../projekt – relativ – projekt im übergeordneten Verzeichnis

Mit pwd sehen Sie, welches Verzeichnis aktuell als Ausgangspunkt für relative Pfade verwendet wird:

pwd

Namen mit Leerzeichen oder Sonderzeichen müssen in der Shell besonders behandelt werden. Setzen Sie den Namen in Anführungszeichen oder maskieren Sie Leerzeichen mit einem Backslash:

mkdir "Mein Projekt"
mkdir Mein\ Projekt

Sichere Vorbereitung: Ort und Inhalt prüfen

Prüfen Sie vor einer Änderung zuerst den aktuellen Ort. Listen Sie anschließend die Inhalte des relevanten Verzeichnisses auf:

pwd
ls -la

Die Option -l zeigt eine ausführliche Liste mit Rechten, Eigentümer und weiteren Metadaten. -a schließt auch versteckte Einträge ein. Vor dem Löschen eines bestimmten Verzeichnisses können Sie beispielsweise Folgendes ausführen:

pwd && ls -la temp

Viele Terminalbefehle geben bei Erfolg keine Bestätigung aus. Wenn kein Fehlertext erscheint und der Prompt zurückkehrt, kann die Aktion erfolgreich gewesen sein. Kontrollieren Sie das Ergebnis bei wichtigen Änderungen trotzdem mit ls.

Verzeichnisse erstellen mit mkdir

Grundsyntax

Die Grundsyntax lautet:

mkdir OPTIONEN VERZEICHNIS

Ein einzelnes Verzeichnis im aktuellen Arbeitsverzeichnis erstellen Sie so:

mkdir projekt

Sie können auch einen absoluten Pfad angeben. Die dafür notwendigen übergeordneten Verzeichnisse müssen dabei bereits existieren:

mkdir /home/bob/archiv

Mehrere Verzeichnisse auf einmal erstellen

Mehrere Namen können als Argumente in einem Aufruf angegeben werden:

mkdir bilder dokumente notizen

Verschachtelte Verzeichnisse mit -p

Mit -p erzeugt mkdir auch fehlende Elternverzeichnisse. Dadurch lässt sich eine komplette Struktur in einem Schritt anlegen:

mkdir -p projekt/quelle/tests

Ohne -p würde der Befehl scheitern, wenn beispielsweise projekt oder projekt/quelle noch nicht existiert. Außerdem meldet mkdir normalerweise einen Fehler, wenn am Zielort bereits ein gleichnamiges Verzeichnis vorhanden ist. mkdir -p ist für eine bereits vorhandene Struktur dagegen geeignet, sofern kein Konflikt mit einer Datei besteht.

Typische mkdir-Fehler

Die Meldung, dass eine Datei oder ein Verzeichnis bereits existiert, bedeutet meist, dass der gewünschte Name schon belegt ist. Prüfen Sie den Eintrag:

ls -ld projekt

Wählen Sie anschließend einen anderen Namen oder verwenden Sie -p, wenn Sie lediglich eine verschachtelte Struktur sicherstellen möchten. Bei Permission denied fehlen häufig Schreibrechte im übergeordneten Verzeichnis.

Verzeichnisse verschieben und umbenennen mit mv

Grundsyntax

mv steht für „move“. Die Grundsyntax lautet:

mv QUELLE ZIEL

Die Quelle kann ein Verzeichnis sein. Das Ziel entscheidet dabei wesentlich über das Ergebnis.

In ein vorhandenes Zielverzeichnis verschieben

Existiert das Ziel bereits als Verzeichnis, wird die Quelle darin abgelegt. Beispiel:

mv projekt /home/bob/archiv/

Danach liegt das Verzeichnis typischerweise unter /home/bob/archiv/projekt. Dieses Verhalten ist praktisch, kann aber überraschend sein, wenn Sie einen anderen Zielpfad erwartet haben.

Zu einem vollständigen Zielpfad verschieben oder umbenennen

Wenn Sie den neuen Namen ausdrücklich im Zielpfad angeben, wird das Verzeichnis unter diesem Namen abgelegt:

mv projekt /home/bob/archiv/projekt_alt

Der übergeordnete Pfad muss dabei passend vorhanden sein. Ob projekt_alt bereits existiert, kann das Verhalten beeinflussen. Prüfen Sie deshalb das Ziel vorher:

ls -ld /home/bob/archiv /home/bob/archiv/projekt_alt

Ein Verschieben innerhalb desselben Arbeitsverzeichnisses ist zugleich ein Umbenennen:

mv projekt mein_projekt

Hier wird kein Inhalt verändert. Der Verzeichniseintrag erhält lediglich einen neuen Namen.

Konflikte mit -i vermeiden

Bei einem bestehenden Ziel können je nach Situation Einträge ersetzt oder zusammengeführt werden. Verwenden Sie bei Unsicherheit die interaktive Option -i:

mv -i QUELLE ZIEL

Vor einer kritischen Ersetzung fragt mv nach. Prüfen Sie dennoch Quelle und Ziel mit ls -ld; eine Rückfrage ersetzt keine Kontrolle des Befehls.

Leere Verzeichnisse mit rmdir löschen

Grundsyntax und Einschränkung

rmdir entfernt ausschließlich leere Verzeichnisse:

rmdir temp

Enthält temp noch Dateien oder Unterverzeichnisse, schlägt der Befehl normalerweise mit einer Meldung wie „Directory not empty“ fehl. Das ist eine Sicherheitsfunktion: rmdir löscht nicht versehentlich den Inhalt mit.

Prüfen Sie den Inhalt zuerst:

ls -la temp

Leere Elternverzeichnisse mit -p entfernen

Mit -p versucht rmdir nach dem Entfernen eines Unterverzeichnisses auch dessen leer gewordene Elternverzeichnisse zu entfernen:

rmdir -p projekt/quelle/tests

Das funktioniert nur für Verzeichnisse, die nach jedem Schritt leer sind. Sobald ein Elternverzeichnis noch andere Einträge enthält, endet die Kette.

Verzeichnisse samt Inhalt mit rm -r löschen

Rekursives Löschen

rm wird normalerweise zum Entfernen von Dateien verwendet. Mit -r oder -R arbeitet der Befehl rekursiv: Er verarbeitet das angegebene Verzeichnis und dessen gesamte Unterstruktur.

rm -r temp

Dieser Befehl entfernt temp einschließlich aller darin enthaltenen Dateien und Unterverzeichnisse. Das Löschen erfolgt in der Standard-Kommandozeile in der Regel nicht über einen Papierkorb. Die Daten sind daher nicht einfach über eine grafische Papierkorb-Funktion wiederherstellbar.

Interaktive Kontrolle mit rm -ri

Für riskante Vorgänge ist die interaktive Variante besser geeignet:

rm -ri temp

-i fordert für Einträge Bestätigungen an. So können Sie den Vorgang abbrechen oder einzelne Einträge nicht löschen. Bei großen Verzeichnisbäumen kann die Zahl der Rückfragen umfangreich sein.

Warum rm -rf besonders gefährlich ist

rm -rf kombiniert rekursives Löschen mit -f, also „force“. -f unterdrückt viele Rückfragen und Fehlermeldungen zu nicht vorhandenen Einträgen:

rm -rf VERZEICHNIS

Regeln für sicheres Löschen

  • Prüfen Sie mit pwd, wo Sie sich befinden.
  • Kontrollieren Sie den Zielinhalt mit ls -la oder beispielsweise ls -la temp.
  • Verwenden Sie bei Unsicherheit zunächst rm -ri.
  • Setzen Sie keine unklaren Platzhalter wie * ein. Ein Platzhalter kann viele Einträge gleichzeitig treffen.
  • Nutzen Sie die Tab-Vervollständigung bewusst und lesen Sie den vollständig eingesetzten Pfad vor dem Ausführen.
  • Seien Sie besonders vorsichtig mit administrativen Rechten. Ein Befehl mit sudo kann Orte verändern, auf die Ihr normales Benutzerkonto keinen Zugriff hat.
  • Halten Sie für wichtige Daten aktuelle Sicherungskopien vor.

Übersicht der Verzeichnisbefehle

BefehlZweckWichtige OptionenEinschränkung oder Gefahr

mkdir – Verzeichnisse erstellen – -p für fehlende Elternverzeichnisse – scheitert meist bei bereits vorhandenem Namen

mv – verschieben oder umbenennen – -i für Rückfragen – bestehende Zielverzeichnisse verändern die Zielauflösung

rmdir – leere Verzeichnisse entfernen – -p für leere Elternverzeichnisse – löscht keine Inhalte

rm -r – Verzeichnis samt Unterstruktur entfernen – -R, -i, -f – rekursives Löschen kann Daten dauerhaft entfernen

Löschen von Verzeichnissen: rmdir oder rm -r?

AusgangslageGeeigneter BefehlErgebnisHinweis

Leeres Verzeichnis – rmdir VERZEICHNIS – entfernt das Verzeichnis – sichere Standardwahl

Nicht leeres Verzeichnis – nach Prüfung rm -r VERZEICHNIS – entfernt Verzeichnis und Inhalt – vorher mit ls kontrollieren

Löschung mit Rückfragen – rm -ri VERZEICHNIS – fragt während der rekursiven Löschung nach – geeignet bei Unsicherheit

Fehlende Berechtigung – Rechte und Eigentümer prüfen – Aktion erst nach geeigneter Berechtigung möglich – nicht blind administrative Rechte verwenden

Fehlgeschlagene Aktionen verstehen

„Directory not empty“ bei rmdir

Das Verzeichnis enthält noch mindestens einen Eintrag. Dazu zählen auch Unterverzeichnisse und versteckte Dateien. Verwenden Sie ls -la, entfernen Sie bewusst nicht benötigte Inhalte oder wählen Sie nach sorgfältiger Prüfung rm -r.

„File exists“ bei mkdir

Der gewünschte Name ist am Zielort bereits vergeben. Prüfen Sie mit ls -ld, ob dort ein Verzeichnis oder eine Datei liegt. Wählen Sie gegebenenfalls einen anderen Namen. Für fehlende Bestandteile eines Pfads kann mkdir -p passend sein.

Unerwarteter Zielpfad bei mv

Wenn das Ziel bereits als Verzeichnis existiert, wird die Quelle in dieses Zielverzeichnis verschoben. Prüfen Sie das Ziel mit ls -ld und geben Sie den vollständigen neuen Zielnamen an, wenn kein automatisches Einordnen gewünscht ist.

„Permission denied“

Berechtigungen legen fest, wer ein Verzeichnis lesen, verändern oder löschen darf. Für das Erstellen oder Löschen ist häufig Schreib- und Ausführungsberechtigung am übergeordneten Verzeichnis entscheidend. Prüfen Sie Eigentümer und Rechte:

ls -ld zielverzeichnis

Verwenden Sie einen Ort, an dem Sie arbeiten dürfen. Administrative Rechte sollten nur bei nachvollziehbarem Bedarf und nach erneuter Pfadprüfung eingesetzt werden.

Pfade mit Leerzeichen

Die Shell trennt ungeschützte Leerzeichen in mehrere Argumente. Setzen Sie solche Pfade in Anführungszeichen:

mv "Mein Projekt" "Archiv 2026"

Praktischer Ablauf

  1. Aktuellen Ort prüfen: pwd.
  2. Inhalt und Ziel kontrollieren: ls -la oder ls -ld ZIEL.
  3. Den Pfad vollständig und bewusst eingeben; Tab-Vervollständigung anschließend prüfen.
  4. Zum Erstellen mkdir, zum Verschieben oder Umbenennen mv und zum Entfernen leerer Verzeichnisse rmdir verwenden.
  5. Für nicht leere Verzeichnisse nur nach Kontrolle rm -r oder vorsichtiger rm -ri einsetzen.
  6. Das Ergebnis anschließend erneut mit ls kontrollieren.

Prüfungsrelevante Merksätze

  • / ist das Root-Verzeichnis und der oberste Punkt der Linux-Dateisystemhierarchie.
  • Absolute Pfade beginnen mit /; relative Pfade beziehen sich auf das aktuelle Arbeitsverzeichnis.
  • mkdir -p erzeugt fehlende Elternverzeichnisse.
  • mv verschiebt und kann durch einen neuen Namen am gleichen Ort umbenennen.
  • rmdir entfernt nur leere Verzeichnisse.
  • rm -r löscht rekursiv auch Inhalte und Unterverzeichnisse.
  • rm -rf unterdrückt viele Rückfragen und ist deshalb besonders riskant.
  • Vor Änderungen helfen pwd, ls -la und eine genaue Prüfung des Pfads.

Für weiterführende Grundlagen eignen sich die Beiträge Arbeiten mit Dateien, Linux-Verzeichnisstruktur, Arten von Zugriffsrechten und Grundlegende Linux-Befehle.