mkdir(2) | System Calls Manual | mkdir(2) |
mkdir, mkdirat - ein Verzeichnis erzeugen
Standard-C-Bibliothek (libc, -lc)
#include <sys/stat.h>
int mkdir(const char *Pfadname, mode_t Modus);
#include <fcntl.h> /* Definition der AT_*-Konstanten */ #include <sys/stat.h>
int mkdirat(int Verzdd, const char *Pfadname, mode_t Modus);
mkdirat():
Seit Glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Vor Glibc 2.10:
_ATFILE_SOURCE
mkdir() versucht, ein Verzeichnis mit dem Namen Pfadname zu erzeugen.
Das Argument Modus gibt den zu verwendenden Zugriffsmodus an (siehe inode(7)). Es wird wie üblich noch von der umask des Prozesses verändert: Ohne Standard-ACL ist der Zugriffsmodus des erzeugten Verzeichnisses (Modus & ~umask & 0777). Die Berücksichtigung weitere Modus-Bits des erzeugten Verzeichnisses hängen vom Betriebssystem ab. Für Linux gelten die folgenden ANMERKUNGEN.
Das neu erzeugte Verzeichnis trägt die effektive Benutzerkennung 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 Gruppeneigentümerschaft des Elternprozesses. Anderenfalls wird die effektive Gruppenkennung des erzeugenden Prozesses Besitzer des Verzeichnisses.
Wenn das Elternverzeichnis set-group-id gesetzt hat, wird das neue Verzeichnis dieses ebenfalls gesetzt haben.
Der Systemaufruf mkdirat() funktioniert genauso wie mkdir(), außer den hier beschriebenen Unterschieden.
Falls der in Pfadname übergebene Pfadname relativ ist, wird er als relativ zu dem im Dateideskriptor Verzdd referenzierten Verzeichnis interpretiert (statt relativ zum aktuellen Arbeitsverzeichnis des aufrufenden Prozesses, wie es bei mkdir() für einen relativen Pfadnamen erfolgt).
Falls Pfadname relativ ist und Verzdd den besonderen Wert AT_FDCWD annimmt, wird Pfadname als relativ zum aktuellen Arbeitsverzeichnis des aufrufenden Prozesses interpretiert (wie mkdir()).
Falls Pfadname absolut ist, wird Verzdd ignoriert.
Lesen Sie openat(2) für eine Beschreibung der Notwendigkeit von mkdirat().
mkdir() und mkdirat() geben bei Erfolg 0 zurück. Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.
mkdirat() wurde zu Linux 2.6.16 hinzugefügt; Bibliotheksunterstützung wurde zu Glibc 2.4 hinzugefügt.
mkdir(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008.
mkdirat(): POSIX.1-2008.
Unter Linux, abgesehen von den Zugriffs-Bits, wird der Modus S_ISVTX ebenfalls anerkannt.
Es gibt noch viele Ungereimtheiten im NFS zugrunde liegenden Protokoll. Einige davon betreffen mkdir().
Unter älteren Kernels, in denen mkdirat() nicht verfügbar ist, weicht die Glibc-Wrapper-Funktion auf mkdir() aus. Wenn Pfadname ein relativer Pfadname ist, dann konstruiert die Glibc einen Pfadnamen, der auf jenem symbolischen Link in /proc/self/fd basiert, der dem Argument Verzdd entspricht.
mkdir(1), chmod(2), chown(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), acl(5), path_resolution(7)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <joey@infodrom.org>, Ralf Baumert <bau@heineken.chemie.uni-dortmund.de>, Daniel Kobras <kobras@linux.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Helge Kreutzmann <debian@helgefjell.de>, Mario Blättermann <mario.blaettermann@gmail.com> und Dr. Tobias Quathamer <toddy@debian.org> 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 die Mailingliste der Übersetzer.
5. Februar 2023 | Linux man-pages 6.03 |