table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.20.0-1~bpo12+1
- testing 4.20.0-1
- unstable 4.20.0-1
mkdir(2) | System Calls Manual | mkdir(2) |
NAAM¶
mkdir, mkdirat - maak een map
BIBLIOTHEEK¶
Standard C bibliotheek (libc, -lc)
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);
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()) 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¶
mkdirat() werd toegevoegd aan Linux 2.6.16; bibliotheek ondersteuning werd toegevoegd aan glibc 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)
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 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.
5 februari 2023 | Linux man-pagina's 6.03 |