Harting Development

mkdir: Erstellen von Verzeichnissen in der Befehlszeile

Lukas Fuchs vor 8 Monaten in  Webentwicklung 3 Minuten Lesedauer

Verwendung von 'mkdir' unter Windows, macOS und Linux

'mkdir' ist ein vielseitiges Dienstprogramm, das in verschiedenen Betriebssystemen verfügbar ist. Es ermöglicht dir, Verzeichnisse (auch Ordner genannt) in der Befehlszeile zu erstellen.

Windows

Unter Windows rufst du 'mkdir' auf, indem du in der Eingabeaufforderung oder in einem PowerShell-Fenster den folgenden Befehl eingibst:

mkdir [Verzeichnisname]

Beispiel:

mkdir NeuerOrdner

Dies erstellt den Ordner "NeuerOrdner" im aktuellen Arbeitsverzeichnis.

macOS und Linux

Unter macOS und Linux verwendest du 'mkdir' mit einer leicht anderen Syntax:

mkdir -p [Verzeichnisname]

Die Option -p erstellt alle übergeordneten Verzeichnisse, falls sie noch nicht vorhanden sind. Beispiel:

mkdir -p /home/benutzer/Dokumente/NeuerOrdner

Dies erstellt den Ordner "NeuerOrdner" im Verzeichnis "Dokumente" im Benutzerverzeichnis.

Optionen und Argumente von 'mkdir'

'mkdir' bietet eine Reihe von Optionen und Argumenten, mit denen du die Erstellung von Verzeichnissen anpassen kannst.

Optionen

  • -m, --mode: Festlegen der Berechtigungen des neuen Verzeichnisses in Oktalform.
  • -p, --parents: Erstellen von übergeordneten Verzeichnissen, falls diese nicht vorhanden sind.
  • -v, --verbose: Ausführliche Ausgabe während des Erstellungsprozesses.

Argumente

  • Verzeichnisname: Der Name des zu erstellenden Verzeichnisses.

Zusätzliche Hinweise

  • Wenn du keine Berechtigungen angibst, werden die standardmäßigen Berechtigungen des Systems verwendet.
  • Die Option '-p' ist besonders nützlich, wenn du eine Hierarchie von Verzeichnissen erstellen möchtest, ohne dir Gedanken über das Vorhandensein übergeordneter Verzeichnisse machen zu müssen.
  • Die Option '-v' kann hilfreich sein, wenn du den Fortschritt des Erstellungsprozesses überwachen möchtest.

Beispiel

Der folgende Befehl erstellt ein neues Verzeichnis namens "mein_verzeichnis" mit den Berechtigungen 755:

mkdir -m 755 mein_verzeichnis

Der folgende Befehl erstellt eine Hierarchie von Verzeichnissen mit den Namen "Verzeichnis1" und "Verzeichnis2" im aktuellen Verzeichnis:

mkdir -p Verzeichnis1/Verzeichnis2

Verwendung von Rekursion mit 'mkdir'

Die Rekursion ist eine leistungsstarke Funktion, mit der du Verzeichnishierarchien mit einem einzigen Befehl erstellen kannst. Wenn du die Rekursionsoption -p verwendest, erstellt mkdir automatisch alle übergeordneten Verzeichnisse, die noch nicht vorhanden sind. Dies ist besonders nützlich, wenn du eine Verzeichnisstruktur mit mehreren Ebenen erstellen möchtest.

Rekursive Verzeichniserstellung

Um ein Verzeichnis rekursiv zu erstellen, verwende einfach die Option -p gefolgt vom Pfad zum Verzeichnis, das du erstellen möchtest. Beispiel:

mkdir -p /Dokumente/Projekte/NeuesProjekt/Unterverzeichnis

Dieser Befehl erstellt die folgenden Verzeichnisse, falls sie noch nicht vorhanden sind:

  • /Dokumente
  • /Dokumente/Projekte
  • /Dokumente/Projekte/NeuesProjekt
  • /Dokumente/Projekte/NeuesProjekt/Unterverzeichnis

Verschachtelte Verzeichnisse erstellen

Du kannst die Rekursion auch verwenden, um verschachtelte Verzeichnisse zu erstellen. Verschachtelte Verzeichnisse sind Verzeichnisse, die sich innerhalb anderer Verzeichnisse befinden. Um verschachtelte Verzeichnisse zu erstellen, verwende einfach die Option -p und gib den Pfad zu jedem Unterverzeichnis an. Beispiel:

mkdir -p /Dokumente/Projekte/NeuesProjekt/Unterverzeichnis1/Unterverzeichnis2

Dieser Befehl erstellt die folgenden Verzeichnisse, falls sie noch nicht vorhanden sind:

  • /Dokumente
  • /Dokumente/Projekte
  • /Dokumente/Projekte/NeuesProjekt
  • /Dokumente/Projekte/NeuesProjekt/Unterverzeichnis1
  • /Dokumente/Projekte/NeuesProjekt/Unterverzeichnis1/Unterverzeichnis2

Erstellen verschachtelter Verzeichnisse mit 'mkdir'

'mkdir' ist ein leistungsstarkes Tool zum Erstellen von Verzeichnissen, das auch das Erstellen verschachtelter Verzeichnisse ermöglicht, wodurch du eine hierarchische Verzeichnisstruktur erstellen kannst.

Verwendung von verschachtelten Pfaden

Um ein verschachteltes Verzeichnis zu erstellen, musst du einen verschachtelten Pfad angeben, der durch Schrägstriche (/) getrennt wird. Angenommen, du möchtest das verschachtelte Verzeichnis /home/benutzer/Dokumente/Projekt/Kapitel1 erstellen. Du würdest den folgenden Befehl verwenden:

mkdir /home/benutzer/Dokumente/Projekt/Kapitel1

Verwendung von Optionen

Die Option -p (auch bekannt als --parents) kann verwendet werden, um alle übergeordneten Verzeichnisse automatisch zu erstellen, wenn sie nicht vorhanden sind. Dies kann bei der Erstellung verschachtelter Verzeichnisse hilfreich sein, da es die Notwendigkeit eliminiert, jedes Verzeichnis einzeln zu erstellen.

Um das obige Beispiel zu verwenden, würde der folgende Befehl dasselbe Ergebnis erzielen, aber die übergeordneten Verzeichnisse automatisch erstellen, falls sie noch nicht vorhanden sind:

mkdir -p /home/benutzer/Dokumente/Projekt/Kapitel1

Tipps

  • Beim Erstellen verschachtelter Verzeichnisse ist es wichtig, sicherzustellen, dass jeder Pfadabschnitt gültig ist.
  • Du kannst Platzhalterzeichen wie * und ? verwenden, um Muster bei der Verzeichniserstellung anzupassen.
  • Wenn du Probleme beim Erstellen verschachtelter Verzeichnisse hast, überprüfe die Berechtigungen für die übergeordneten Verzeichnisse und stelle sicher, dass du über die Berechtigung zum Erstellen neuer Verzeichnisse verfügst.
  • Es gibt alternative Befehlszeilentools wie tree und find, die bei der Verwaltung verschachtelter Verzeichnishierarchien hilfreich sein können.

Festlegen von Berechtigungen für neue Verzeichnisse mit 'mkdir'

Standardmäßig erstellt 'mkdir' Verzeichnisse mit den Berechtigungen der übergeordneten Verzeichnisse. Du kannst jedoch auch explizit Berechtigungen für die neuen Verzeichnisse festlegen.

Berechtigungsmodi

Um Berechtigungen festzulegen, verwendest du den Modus-Parameter -m. Der Modus wird als dreistellige Oktalzahl angegeben, wobei jede Stelle eine Berechtigungsstufe für den Eigentümer, die Gruppe und andere Benutzer darstellt.

Berechtigungsstufen:

  • Lesen (r): Erlaubt das Lesen des Inhalts eines Verzeichnisses oder einer Datei.
  • Schreiben (w): Erlaubt das Schreiben in oder das Ändern des Inhalts eines Verzeichnisses oder einer Datei.
  • Ausführen (x): Erlaubt es, ein Verzeichnis zu durchsuchen oder eine Datei auszuführen.

Beispiel

Um beispielsweise ein Verzeichnis mit Leseberechtigungen für alle Benutzer zu erstellen, würdest du Folgendes eingeben:

mkdir -m 777 neues_verzeichnis

Dadurch wird das Verzeichnis neues_verzeichnis mit den Berechtigungen rwxrwxrwx erstellt, was bedeutet, dass Eigentümer, Gruppe und andere Benutzer Lese-, Schreib- und Ausführungsberechtigungen haben.

Verwendung von symbolischen Berechtigungen

Alternativ zu Oktalzahlen kannst du auch symbolsiche Berechtigungen verwenden, um Berechtigungen festzulegen. Die Syntax ist wie folgt:

mkdir -m [Benutzer]:[Berechtigungen][Gruppe]:[Berechtigungen][Andere]:[Berechtigungen] neues_verzeichnis

Beispiele:

  • Um ein Verzeichnis mit Schreibberechtigungen für den Eigentümer und Leseberechtigungen für alle anderen zu erstellen:
mkdir -m u=rw,g=r,o=r neues_verzeichnis
  • Um ein Verzeichnis mit nur Leseberechtigungen für den Eigentümer zu erstellen:
mkdir -m u=r neues_verzeichnis

Tipps

  • Du kannst die Berechtigungen für ein neues Verzeichnis auch nach dem Erstellen mit dem Befehl chmod ändern.
  • Weitere Informationen zu Berechtigungsmodi findest du in der Dokumentation deines Betriebssystems.
  • Verwende man mkdir oder mkdir --help, um weitere Informationen zu den verfügbaren Optionen zu erhalten.

Umgang mit bereits vorhandenen Verzeichnissen

Wenn du versuchst, ein Verzeichnis mit mkdir zu erstellen, das bereits existiert, erhältst du eine Fehlermeldung. Es gibt jedoch mehrere Möglichkeiten, mit bereits vorhandenen Verzeichnissen umzugehen:

Verzeichnis überschreiben

Du kannst die Option -p (oder --parents) verwenden, um das Verzeichnis zu überschreiben, falls es bereits existiert. Auf diese Weise kannst du verschachtelte Verzeichnisse erstellen, auch wenn einige der übergeordneten Verzeichnisse nicht existieren.

mkdir -p /pfad/zu/neues/verzeichnis

Vorhandenes Verzeichnis ignorieren

Wenn du das vorhandene Verzeichnis ignorieren möchtest, kannst du die Option -m (oder --no-creat) verwenden. Auf diese Weise wird mkdir den Befehl ohne Fehler ausführen, auch wenn das Verzeichnis bereits existiert.

mkdir -m /pfad/zu/neues/verzeichnis

Erstellen eines symlinks

Anstatt ein neues Verzeichnis zu erstellen, kannst du einen symbolischen Link zum vorhandenen Verzeichnis erstellen. Dies ist mit der Option -s (oder --symbolic) möglich.

mkdir -s /pfad/zu/symlink /pfad/zu/vorhandenes/verzeichnis

Fehlerbehandlung

Wenn du sicherstellen möchtest, dass mkdir einen Fehler ausgibt, wenn das Verzeichnis bereits existiert, kannst du die Option -e (oder --exist-ok) verwenden. Auf diese Weise wird mkdir den Befehl mit einem Fehlercode beenden, wenn das Verzeichnis bereits existiert.

mkdir -e /pfad/zu/neues/verzeichnis

Problembehandlung bei 'mkdir'-Fehlern

Wenn du Probleme bei der Verwendung von 'mkdir' hast, sind hier einige Tipps zur Fehlerbehebung:

Verzeichnis existiert bereits

Wenn du versuchst, ein Verzeichnis zu erstellen, das bereits existiert, erhältst du eine Fehlermeldung. Überprüfe, ob das Verzeichnis bereits vorhanden ist, indem du 'ls' oder 'dir' verwendest, und verwende dann die Option '-p' von 'mkdir', um das Verzeichnis bei Bedarf zu erstellen.

Keine Berechtigung zum Erstellen des Verzeichnisses

Wenn du nicht über die erforderlichen Berechtigungen zum Erstellen des Verzeichnisses verfügst, erhältst du eine Fehlermeldung. Überprüfe, ob du über die Berechtigung zum Schreiben in das übergeordnete Verzeichnis verfügst. Wenn nicht, bitte den Administrator um Hilfe.

Ungültiger Pfad

Wenn du versuchst, ein Verzeichnis an einem ungültigen Pfad zu erstellen, erhältst du eine Fehlermeldung. Überprüfe, ob der Pfad korrekt ist. Du kannst auch versuchen, absolute Pfade anstelle von relativen Pfaden zu verwenden, um Verwechslungen zu vermeiden.

Zu viele Ebenen

Wenn du versuchst, zu viele Verzeichnisebenen auf einmal zu erstellen, erhältst du eine Fehlermeldung. Verwende in diesem Fall die Option '-p' von 'mkdir', die es dir ermöglicht, mehrere Verzeichnisse gleichzeitig zu erstellen.

Dateisystem voll

Wenn du versuchst, ein Verzeichnis auf einem voll belegten Dateisystem zu erstellen, erhältst du eine Fehlermeldung. Überprüfe den verfügbaren Speicherplatz und lösche ggf. nicht mehr benötigte Dateien oder Daten.

Syntaxfehler

Wenn du bei der Eingabe des 'mkdir'-Befehls einen Syntaxfehler machst, erhältst du eine Fehlermeldung. Überprüfe, ob du den Befehl korrekt eingegeben hast und ob die Optionen und Argumente korrekt sind.

Hilfe bei 'mkdir'

Wenn du weitere Hilfe bei der Verwendung von 'mkdir' benötigst, kannst du jederzeit die integrierte Hilfefunktion verwenden. Gib in einem Terminalfenster 'mkdir --help' ein, um eine Liste der verfügbaren Optionen und Anleitungen anzuzeigen.

Häufig gestellte Fragen zu 'mkdir'

Was ist der Unterschied zwischen 'mkdir' und 'md'?

'mkdir' ist der Befehl zum Erstellen von Verzeichnissen in Unix-ähnlichen Systemen (z. B. Linux, macOS), während 'md' die Abkürzung für 'mkdir' unter Windows ist. Beide Befehle haben die gleiche Funktionalität.

Warum erhalte ich die Fehlermeldung "Berechtigung verweigert", wenn ich versuche, ein Verzeichnis zu erstellen?

Du verfügst möglicherweise nicht über die erforderlichen Berechtigungen, um ein Verzeichnis in dem gewünschten Speicherort zu erstellen. Überprüfe die Berechtigungen für das übergeordnete Verzeichnis und stelle sicher, dass du über Schreibzugriff verfügst.

Wie kann ich versteckte Verzeichnisse mit 'mkdir' erstellen?

Um ein verstecktes Verzeichnis unter Linux und macOS zu erstellen, beginne den Verzeichnisnamen mit einem Punkt (.). Unter Windows musst du das Attribut "Versteckt" für das Verzeichnis festlegen.

Wie erstelle ich ein Verzeichnis, das bereits existiert?

Der Befehl 'mkdir' überschreibt keine vorhandenen Verzeichnisse. Wenn du ein Verzeichnis mit demselben Namen erstellen möchtest, das bereits existiert, kannst du den Befehl 'mkdir -p' (mkdir -parents) verwenden, der vorhandene Verzeichnisse ignoriert und nur fehlende erstellt.

Wie kann ich in 'mkdir' absolute Pfade verwenden?

Um absolute Pfade in 'mkdir' zu verwenden, beginne den Pfad mit einem Schrägstrich (/). Beispiel:

mkdir /home/benutzer/Dokumente/neues_verzeichnis

Wie kann ich mehr über 'mkdir' erfahren?

Zusätzliche Informationen zu 'mkdir' findest du in der Manpage oder indem du 'man mkdir' im Terminal eingibst.

Folge uns

Neue Posts

Beliebte Posts