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