1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
.\" 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 <bau@heineken.chemie.uni-dortmund.de>.
.\" Finished by Martin Schulze <joey@finlandia.infodrom.north.de>.
.\" Updated by Daniel Kobras <kobras@linux.de>.
.\"
.TH MKDIR 2 "17. August 2001" "Linux 1.0" "Systemaufrufe"
.SH BEZEICHNUNG
mkdir \- Erzeugt ein Verzeichnis
.SH "ÜBERSICHT"
.nf
.B #include <sys/stat.h>
.B #include <sys/types.h>
.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).
|