mkdir (Abkürzung für englisch make directory ‚erstelle Verzeichnis‘; manchmal md) ist ein Befehl in UNIX, bei unixoiden Systemen sowie DOS, OS/2, Windows und ReactOS und in der Skriptsprache PHP, um neue Verzeichnisse zu erstellen.
In dem POSIX-Standard konformen Systemen implementiert das mkdir
-Kommando ein Äquivalent der Systemfunktion mkdir()
, die im Systems Interface-Teil des
POSIX-Standards definiert wird.[1] Als Kommandozeilen-Utilty gelten für mkdir
die in XBD Utility Syntax Guidelines festgelegten Standards.[1][2]
mkdir
erwartet als Argument eine Liste von Pfadnamen und legt die durch diese Pfadnamen spezifizierten Verzeichnisse in der angegebenen Reihenfolge an, soweit sie nicht bereits existieren. Dabei gelten für Pfadnamen dieselben Regeln wie bei der genannten Systemfunktion[3]
Ein Erfolg bei der Ausführung wird durch einen Return Code von 0 (null) signalisiert, Fehler werden durch verschiedene, von 0 verschiedene return codes angezeigt.
Die standardkonforme Version des mkdir
-Kommandos kennt zwei Kommandozeilen-Optionen:
p
mkdir -p /a/b/c
/a
, danach das Verzeichnis /a/b
und schlussendlich das Verzeichnis /a/b/c
an. Dies geschieht durch wiederholten Aufruf der Systemfunktion mkdir()
mit dem jeweiligen Teil des anzulegenden Pfadnamens, gefolgt von einem Slash (/
) und dem Wert 0 (null) als Filemode. :Danach wird die Funktion chmod()
mit dem Resultat der logischen Verknüpfung
(S_IWUSR|S_IXUSR|~filemask)&0777
[4]filemask
die file mode creation mask des Prozesses darstellt (siehe auch umask).m
chmod()
aufgerufen wird, allerdings (siehe oben) erst, nachdem das Directory angelegt wurde.mkdir Verzeichnisname
wobei Verzeichnisname
für das zu erstellende Verzeichnis steht. Wird das Kommando in der normalen Konsole ausgeführt, so wird der neue Ordner ausgehend vom aktuellen Verzeichnis angelegt.
Bei unixoiden Betriebssystemen besitzt mkdir
unter anderem folgende Parameter:
-p
: erstellt die Verzeichnisse, sofern diese noch nicht existieren. Sollte das Verzeichnis bereits bestehen, wird kein Fehler ausgegeben und fortgefahren.-v
: gibt die erstellten Verzeichnisse auf der Konsole aus, Verwendung meist mit -p
.-m
: weist den Verzeichnissen die Rechte zu, die als Dateiberechtigung hinter dem Parameter im Oktalwert angegeben sind.-p
wird meist verwendet, um mit mkdir
komplexere Dateihierarchien aufzubauen, beispielsweise durch Makefiles.
Ein Beispiel zu -p
ist:
mkdir -p /tmp/a/b/c
Wenn /tmp/a
bereits existiert, aber /tmp/a/b
nicht, so erstellt mkdir
/tmp/a/b
, bevor es /tmp/a/b/c
hinzufügt.