MKDIR(2)

BEZEICHNUNG
mkdir - ein Verzeichnis erzeugen

ÜBERSICHT
#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

BESCHREIBUNG
mkdir() versucht, ein Verzeichnis mit dem Namen pathame zu erzeugen.

Das Argument mode legt die zu verwendenden Zugriffsrechte fest. Es wird wie üblich noch von der umask des Prozesses verändert: Die Zugriffsrechte des erzeugten Verzeichnisses sind (mode & ~umask & 0777). Weitere Modus-Bits des erzeugten Verzeichnisses hängen vom Betriebssystem ab. Für Linux gilt das Folgende.

Das neu erzeugte Verzeichnis trägt die effektive Benutzer-ID des Prozesses. Wenn das das neue Verzeichnis enthaltende Verzeichnis set-group-id gesetzt hat oder wenn das Dateisystem mit der BSD-Gruppensemantik eingehängt wurde (mount -o bsdgroups oder synonym mount -o grpid), erbt das neue Verzeichnis die Gruppen-ID des erzeugenden Prozesses. Anderenfalls wird die effektive Gruppen-ID des erzeugenden Prozesses Besitzer des Verzeichnisses.

Wenn das beinhaltende Verzeichnis set-group-id gesetzt hat, wird das neue Verzeichnis dieses ebenfalls gesetzt haben.

RÜCKGABEWERT
mkdir() gibt bei Erfolg 0 zurück und -1, wenn ein Fehler aufgetreten ist, errno wird dabei entsprechend gesetzt.

FEHLER

EACCES
    Das beinhaltende Verzeichnis gibt dem Prozess keine Schreibberechtigung oder eines der Verzeichnisse in pathname erlaubt keine Suche. (Siehe auch path_resolution(7).)

EDQUOT
    Das Kontingent des Benutzers an Datenträgerblöcken oder Inodes auf dem Dateisystem ist ausgeschöpft.

EEXIST
    pathname existiert bereits (jedoch nicht notwendigerweise als Verzeichnis). Das umfasst auch den Fall, dass pathname ein symbolischer Link ist - egal ob er ins Leere weist oder nicht.

EFAULT
    pathname zeigt aus dem für Sie zugänglichen Adressraum heraus.

ELOOP
    Bei der Auflösung von pathname wurden zu viele symbolische Links gefunden.

EMLINK
    Die Anzahl von Links zum "Elternverzeichnis" würde LINK_MAX überschreiten.

ENAMETOOLONG
    pathname war zu lang.

ENOENT
    Eine Verzeichniskomponente von pathname existiert nicht oder ist ein toter symbolischer Link.

ENOMEM
    Es war nicht genügend Kernel-Speicher verfügbar.

ENOSPC
    Das Gerät, welches pathmame enthält, hat keinen Platz für ein neues Verzeichnis.

ENOSPC
    Das neue Verzeichnis kann nicht erzeugt werden, da die Disk-Quota des Users erschöpft ist.

ENOTDIR
    Eine als Verzeichnis benutzte Komponente von pathname ist kein Verzeichnis.

EPERM
    Das Gerät, welches pathname enthält, erlaubt keine Erstellung von Verzeichnissen.

EROFS
    pathname bezieht sich auf eine Datei auf einem schreibgeschützten Dateisystem.

KONFORM ZU
SVr4, BSD, POSIX.1-2001.

ANMERKUNGEN
Unter Linux wird außer den Zugriffsberechtigungsbits nur das S_ISVTX-Modusbit beachtet. Somit hat unter Linux das erzeugte Verzeichnis den Modus (mode & ~umask & 01777). Siehe auch stat(2).

Es gibt noch viele Ungereimtheiten im NFS zugrunde liegenden Protokoll. Einige davon betreffen mkdir().

SIEHE AUCH
mkdir(1), chmod(2), chown(2), mkdirat(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), path_resolution(7)

KOLOPHON
This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Baumert <bau@heineken.chemie.uni-dortmund.de>, Martin Schulze <joey@infodrom.org>, Daniel Kobras <kobras@linux.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.