Mkdir

ReactOS mkdir Befehl

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
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 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]
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.
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.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b The Open Group Base Specifications Issue 7, 2018 edition, Utilities. Abgerufen am 22. Juli 2021 (englisch).
  2. The Open Group Base Specifications Issue 7, 2018 edition, Kap. 12.2 Utility Syntax Guidelines. Abgerufen am 22. Juli 2021 (englisch).
  3. The Open Group Base Specifications Issue 7, 2018 edition, Functions. Abgerufen am 22. Juli 2021 (englisch).
  4. siehe etwa IBM Dokumentation der chmod()-Funktion. Abgerufen am 22. Juli 2021 (englisch).
  5. The Open Group Base Specifications Issue 7, 2018 edition,chmod. Abgerufen am 22. Juli 2021 (englisch).