MKDIR(2)

NAAM
mkdir, mkdirat - maak een map

SAMENVATTING
#include <sys/stat.h>

int mkdir(const char *padnaam, mode_t modus);

#include <fcntl.h>           /* Definitie van AT_* constanten */
#include <sys/stat.h>

int mkdirat(int map_bi, const char *padnaam, mode_t modus);

    Test Macro´s in glibc (zie feature_test_macros(7)):

mkdirat():
    Vanaf glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Voor glibc 2.10:
        _ATFILE_SOURCE

BESCHRIJVING
mkdir() probeert een map te maken met de naam padnaam.

Het argument modus specificeert de modus voor de nieuwe map (zie inode(7)). Deze wordt aangepast door het umask van het proces op de gebruikelijke wijze: in de afwezigheid van een standaard ACL, is de modus van de aangemaakte map (mode & ~umask & 0777). Of de andere modus bits worden in acht genomen voor de aangemaakte map is afhankelijk van het operating systeem. Voor Linux, zie OPMERKINGEN hieronder.

De nieuw gemaakte map zal eigendom worden van het geldende gebruiker ID van het proces. Als de map die het bestand bevat het set-group-ID bit gezet heeft, of als het bestandsysteem is gekoppeld met BSD groep regels , (mount -o bsdgroups of, synoniem mount -o grpid) dan zal de nieuwe map het groep eigendom van zijn ouder-map erven; anders zal het eigendom worden van het geldende groep-id van het proces.

Al de ouder-map het zet-groep-id bit gezet heeft, dan zal dat ook gezet worden voor de nieuw gemaakte map.

  mkdirat()
De mkdirat() systeem aanroep werkt op precies dezelfde manier als mkdir(), behalve voor de hieronder beschreven verschillen.

Als de padnaam in padnaam relatief is, dan wordt deze geïnterpreteerd relatief aan de map aangewezen door de bestand indicator dirfd (liever dan relatief aan de huidige werkmap van het aanroepende proces, zoals gedaan door mkdir() voor een relatieve padnaam).

Als padnaam relatief is en dirfd heeft de speciale waarde AT_FDCWD, dan wordt padnaam geïnterpreteerd relatief aan de huidige werkmap van het aanroepende proces (zoals mkdir()).

Als padnaam absoluut is, dan wordt mapbi genegeerd.

Zie openat(2) voor een uitleg over de noodzaak van mkdirat().

EIND WAARDE
mkdir() en mkdirat() geven nul terug bij slagen, of een -1 als een fout optrad en wordt errno overeenkomstig gezet.

FOUTEN

EACCES
    De ouder map status schrijf toestemming niet toe voor het proces, of een van de mappen in padnaam stond zoek (uitvoer) toestemming niet toe.

EBADF
    (mkdirat()) pathname is relative but dirfd is neither AT_FDCWD nor a valid file descriptor.

EDQUOT
    De gebruiker quota aan schijf blokken of inodes van het bestandssysteem is uitgeput.

EEXIST
    padnaam bestaat al (niet perse een map). Dit bevat ook het geval waar padnaam een symbolische koppeling is, bungelend of niet.

EFAULT
    padnaam wijst buiten de voor u toegankelijke adresruimte.

EINVAL
    De uiteindelijke component ("basisnaam") van de nieuwe map padnaam is ongeldig (b.v. het bevat tekens die niet toegestaan zijn in het onderliggende bestandssysteem).

ELOOP
    Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van padnaam.

EMLINK
    Het aantal koppelingen naar de ouder map zou LINK_MAX overschrijden.

ENAMETOOLONG
    padnaam was te lang.

ENOENT
    Een map deel van padnaam bestaat niet of is een loshangende symbolische koppeling.

ENOMEM
    Onvoldoende kernelgeheugen voorhanden.

ENOSPC
    Het apparaat dat padnaam bevat heeft geen ruimte voor een nieuwe map.

ENOSPC
    De nieuwe dir kan niet gemaakt worden omdat het schijf quota van de gebruiker uitgeput is.

ENOTDIR
    Een deel gebruikt als map in padnaam is in feite geen map.

ENOTDIR
    (mkdirat()) pathname is relative and dirfd is a file descriptor referring to a file other than a directory.

EPERM
    Het bestandssysteen dat padnaam bevat ondersteund de aanmaak van mappen niet.

EROFS
    padnaam verwijst naar een bestand op een alleen-lezen bestandsysteem.

VERSIES
mkdirat() werd toegevoegd aan Linux in kernel 2.6.16; bibliotheek ondersteuning werd toegevoegd aan glibc in versie 2.4.

VOLDOET AAN
mkdir(): SVr4, BSD, POSIX.1-2001, POSIX.1-2008.

mkdirat(): POSIX.1-2008.

OPMERKINGEN
Onder Linux, afgezien van de rechten bits, wordt ook het S_ISVTX mode bit gehonoreerd.

Er zijn veel ongelukkigheden in het onderliggende NFS protocol. Sommige van deze beïnvloeden mkdir().

  Glibc-opmerkingen
Op ouder kernels waar mkdirat() niet beschikbaar is, valt de glibc omwikkel functie terug op het gebruik van mkdir(). Als padnaam een relatieve padnaam is, dan construeert glibc een padnaam gebaseerd op de symbolische koppeling in /proc/self/fd die overeenkomt met het dirfd argument.´

ZIE OOK
mkdir(1), chmod(2), chown(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), acl(5), path_resolution(7)

COLOFON
Deze pagina is onderdeel van release 5.13 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

VERTALING
De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com> Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.