Der Befehl mkdir erstellt neue Verzeichnisse auf der Kommandozeile. Der Name steht für „make directory".

Syntax

mkdir [OPTIONEN] VERZEICHNIS...
  • OPTIONEN – Flags, die das Verhalten ändern.
  • VERZEICHNIS – Ein oder mehrere Namen für die neuen Verzeichnisse.

Ein Verzeichnis erstellen

Gib den gewünschten Namen als Argument an:

mkdir projekte

Das Verzeichnis wird im aktuellen Arbeitsverzeichnis erstellt. Mit ls -l kannst du prüfen, ob es funktioniert hat:

ls -l
drwxr-xr-x 2 user user 4096 Jan 16 10:00 projekte

Verzeichnis an einem anderen Ort erstellen

Um ein Verzeichnis außerhalb des aktuellen Arbeitsverzeichnisses zu erstellen, gib den vollständigen Pfad an:

mkdir /tmp/testverzeichnis

Das funktioniert mit absoluten und relativen Pfaden.

Fehlende Schreibrechte

Ohne ausreichende Berechtigungen schlägt der Befehl fehl:

mkdir /root/geheim
mkdir: das Verzeichnis '/root/geheim' kann nicht erstellt werden: Keine Berechtigung

Verschachtelte Verzeichnisse mit -p erstellen

Standardmäßig erwartet mkdir, dass alle übergeordneten Verzeichnisse bereits existieren. Dieser Befehl schlägt fehl:

mkdir /home/user/Musik/Rock/Metal
mkdir: das Verzeichnis '/home/user/Musik/Rock/Metal' kann nicht erstellt werden: Datei oder Verzeichnis nicht gefunden

Die Option -p (parent) löst das Problem. Sie erstellt alle fehlenden Verzeichnisse im Pfad automatisch:

mkdir -p /home/user/Musik/Rock/Metal

Ein weiterer Vorteil von -p: Der Befehl gibt keinen Fehler aus, wenn das Verzeichnis bereits existiert. Das ist nützlich in Skripten, wo du sicherstellen willst, dass ein Verzeichnis vorhanden ist.

Berechtigungen direkt setzen mit -m

Mit der Option -m legst du die Berechtigungen beim Erstellen fest. Die Syntax entspricht dem chmod-Befehl:

mkdir -m 700 privat

Das erstellt ein Verzeichnis, auf das nur der Eigentümer Zugriff hat (Lesen, Schreiben, Ausführen). Ohne -m werden die Berechtigungen durch die umask bestimmt – meistens 755 oder 775.

Mehrere Verzeichnisse gleichzeitig erstellen

Gib mehrere Namen an, getrennt durch Leerzeichen:

mkdir dokumente bilder videos

Komplexe Verzeichnisstrukturen mit Brace Expansion

Mit der Bash-Brace-Expansion erstellst du verschachtelte Strukturen in einem Befehl:

mkdir -p projekt/{src,tests,docs}

Das erstellt:

projekt/
├── docs
├── src
└── tests

Auch tiefere Verschachtelungen sind möglich:

mkdir -p Musik/{Jazz,Rock/{Punk,Metal},Klassik}

Ausführliche Ausgabe mit -v

Die Option -v (verbose) zeigt jeden Erstellungsvorgang an:

mkdir -v backup logs
mkdir: Verzeichnis 'backup' wurde erstellt
mkdir: Verzeichnis 'logs' wurde erstellt

Das hilft bei der Fehlersuche oder wenn du in Skripten protokollieren willst, was passiert.

Zusammenfassung

OptionBedeutung
-pErstellt übergeordnete Verzeichnisse automatisch
-m MODUSSetzt Berechtigungen beim Erstellen
-vZeigt erstellte Verzeichnisse an

Der Befehl mkdir gehört zu den Grundlagen der Kommandozeile. In Kombination mit Brace Expansion und der Option -p lassen sich auch komplexe Verzeichnisstrukturen schnell anlegen.

Verwandte Artikel