Scroll to navigation

MKDIR(2) Linux-Programmierhandbuch 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).)
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 Ihrem adressierbaren Adressraum heraus.
ELOOP
Bei der Auflösung von pathname wurden zu viele symbolische Verknüpfungen 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
Zu wenig Kernelspeicher 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 zeigt 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

Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux- man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter 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> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> 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>.
26. Juni 2010 Linux