.\" Hey Emacs! This file is -*- nroff -*- source. .\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt .\" 1993,1994 Ian Jackson. .\" You may distribute it under the terms of the GNU General .\" Public Licence. It comes with NO WARRANTY. .\" Translated into German by .\" Ralf Baumert . .\" Finished by Martin Schulze . .\" Updated by Daniel Kobras . .\" .TH MKDIR 2 "17. August 2001" "Linux 1.0" "Systemaufrufe" .SH BEZEICHNUNG mkdir \- Erzeugt ein Verzeichnis .SH "ÜBERSICHT" .nf .B #include .B #include .sp .BI "int mkdir(const char *" pathname ", mode_t " mode ); .fi .SH BESCHREIBUNG .B mkdir versucht, ein Verzeichnis mit dem Namen .I pathname anzulegen. Zusammen mit der umask des aktuellen Prozesses legt der Parameter .I mode die Zugriffsrechte des neuen Verzeichnisses fest. Die Rechte werden bestimmt über .BR "(mode & ~umask)" . Der Besitzer des neuen Verzeichnisses ergibt sich aus der effektiven Benutzer-ID des aufrufenden Prozesses. Welche Gruppe das Verzeichnis besitzt, hängt im Normalfall von der effektiven Gruppen-ID des aufrufenden Prozesses ab. Ist jedoch im übergeordneten Verzeichnis das Set-Group-ID-Bit gesetzt oder wurde das betreffende Dateisystem mit BSD-Gruppeneigenschaften gemountet, so erbt das neue Verzeichnis die Gruppen-ID des übergeordneten Verzeichnisses. Ist das Set-Group-ID-Bit im übergeordneten Verzeichnis gesetzt, so wird es auch im neuen Verzeichnis übernommen. .SH "RÜCKGABEWERT" .BR mkdir gibt bei Erfolg 0 zurück und \-1, wenn ein Fehler aufgetreten ist. Im Fehlerfall wird .I errno entsprechend gesetzt. .SH FEHLER .TP .B EPERM Das Dateisystem, das .IR pathname enthält, unterstützt nicht das Erstellen von Verzeichnissen. .TP .B EEXIST .I pathname existiert bereits (nicht unbedingt als Verzeichnis). Das schließt den Fall ein, dass .I pathname ein symbolischer Verweis ist, gleichgültig ob das referenzierte Objekt existiert oder nicht. .TP .B EFAULT .I pathname zeigt auf Speicher außerhalb des adressierbaren Bereichs. .TP .B EACCES Das übergeordnete Verzeichnis gibt dem Prozess keine Schreibberechtigung oder eines der Verzeichnisse in .IR pathname erlaubt keine Suche (-x-). .TP .B ENAMETOOLONG .I pathname ist zu lang. .TP .B ENOENT Eine Komponente in .I pathname existiert nicht oder verweist symbolisch auf ein nicht existierendes Objekt. .TP .B ENOTDIR Eine Komponente in .IR pathname , die als Verzeichnis benutzt wurde, ist gar kein Verzeichnis. .TP .B ENOMEM Dem Kernel steht zuwenig Speicher zur Verfügung. .TP .B EROFS .I pathname zeigt auf ein schreibgeschütztes Dateisystem. .TP .B ELOOP In .I pathname sind zu viele symbolische Verweise enthalten. Häufig wird dieser Fehler durch einen oder mehrere symbolische Verweise verursacht, die letztendlich auf sich selbst zeigen und dadurch eine Schleife bilden. .TP .B ENOSPC Auf dem Gerät, das .I pathname enthält, ist entweder nicht mehr genug Platz für ein neues Verzeichnis oder die Disk-Quota des Benutzer ist bereits erschöpft. .SH "KONFORM ZU" SVr4, POSIX, BSD, SYSV, X/OPEN. SVr4 beschreibt zusätzlich die Fehler EIO, EMULTIHOP und ENOLINK; ELOOP ist in POSIX.1 nicht erwähnt. .SH BUGS In dem NFS zugrundeliegenden Protokoll gibt es zahlreiche Ungereimtheiten. Manche davon wirken sich auch auf .B mkdir aus. .SH "SIEHE AUCH" .BR mkdir (1), .BR chmod (2), .BR mknod (2), .BR mount (2), .BR rmdir (2), .BR stat (2), .BR umask (2), .BR unlink (2).