mkdir(2) System Calls Manual mkdir(2) NAAM mkdir, mkdirat - maak een map BIBLIOTHEEK Standard C bibliotheek (libc, -lc) SAMENVATTING #include int mkdir(const char *padnaam, mode_t modus); #include /* Definitie van AT_* constanten */ #include int mkdirat(int map_bi, const char *padnaam, mode_t modus); Feature Test Macro's eisen 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 geinterpreteerd 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 geinterpreteerd 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()) padnaam is relatiet maar dirfd is noch AT_FDCWD noch een geldige bestandsindicator. 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 onderdeel gebruikt als map in padnaam is in feite geen map. ENOTDIR (mkdirat()) padnaam is relatief en mapbi is een bestandsindicatoor die naar een bestand wijst dat geen map is. EPERM Het bestandssysteen dat padnaam bevat ondersteund de aanmaak van mappen niet. EROFS padnaam verwijst naar een bestand op een alleen-lezen bestandsysteem. VERSIES Onder Linux, afgezien van de rechten bits, wordt ook het S_ISVTX mode bit gehonoreerd. 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.' VOLDOET AAN POSIX.1-2008. GESCHIEDENIS mkdir() SVr4, BSD, POSIX.1-2001. mkdirat() Linux 2.6.16, glibc 2.4. OPMERKINGEN Er zijn veel ongelukkigheden in het onderliggende NFS protocol. Sommige van deze beinvloeden mkdir(). 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) VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blattermann en Luc Castermans Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 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 . Linux man-pages 6.06 31 oktober 2023 mkdir(2)