mkdir
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.
UNIX
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]
Verwendung
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.
Parameter
Die standardkonforme Version des mkdir
-Kommandos kennt zwei Kommandozeilen-Optionen:
p
- Jene Teile eines Pfadnamens, die noch nicht existieren, werden ebenfalls angelegt. Beispielsweise legt der Aufruf
mkdir -p /a/b/c
- sofern sie nicht schon existieren, das Verzeichnis
/a
, danach das Verzeichnis/a/b
und schlussendlich das Verzeichnis/a/b/c
an. Dies geschieht durch wiederholten Aufruf der Systemfunktionmkdir()
mit dem jeweiligen Teil des anzulegenden Pfadnamens, gefolgt von einem Slash (/
) und dem Wert 0 (null) als Filemode. :Danach wird die Funktionchmod()
mit dem Resultat der logischen Verknüpfung(S_IWUSR|S_IXUSR|~filemask)&0777
[4]
- aufgerufen, wobei
filemask
die file mode creation mask des Prozesses darstellt. (siehe auch umask)
m
- erwartet einen drei- oder vierstelligen Oktalwert als Argument, der als Berechtigung analog dem chmod-Kommando[5] interpretiert wird. Erzeugte Directories werden mit diesen Berechtigungen versehen, indem die Systemfunktion
chmod()
aufgerufen wird, allerdings (siehe oben) erst, nachdem das Directory angelegt wurde.
Linux
Verwendung
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.
Parameter
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.
Beispiele
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.
Weblinks
- Mkdir Microsoft TechNet
Einzelnachweise
- The Open Group Base Specifications Issue 7, 2018 edition, Utilities. Abgerufen am 22. Juli 2021 (englisch).
- The Open Group Base Specifications Issue 7, 2018 edition, Kap. 12.2 Utility Syntax Guidelines. Abgerufen am 22. Juli 2021 (englisch).
- The Open Group Base Specifications Issue 7, 2018 edition, Functions. Abgerufen am 22. Juli 2021 (englisch).
- siehe etwa IBM Dokumentation der chmod()-Funktion. Abgerufen am 22. Juli 2021 (englisch).
- The Open Group Base Specifications Issue 7, 2018 edition,chmod. Abgerufen am 22. Juli 2021 (englisch).