mkdir(2) System Calls Manual mkdir(2) NOM mkdir, mkdirat - Creer un repertoire BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int mkdir(const char *pathname, mode_t mode); #include /* Definition des constantes AT_* */ #include int mkdirat(int dirfd, const char *pathname, mode_t mode); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : mkdirat() : Depuis la glibc 2.10 : _POSIX_C_SOURCE >= 200809L avant la glibc 2.10 : _ATFILE_SOURCE DESCRIPTION mkdir() cree un nouveau repertoire nomme pathname. Le parametre mode indique les permissions a appliquer au nouveau repertoire (voir inode(7)). Cette valeur peut etre modifiee par le umask du processus de maniere habituelle : en l'absence d'une liste de controle d'acces (ACL) par defaut, les permissions du repertoire cree sont (mode & ~umask & 0777). La facon dont d'autres bits de mode du repertoire cree sont respectes depend du systeme d'exploitation. Pour Linux, voir les NOTES ci-dessous. Le repertoire nouvellement cree aura pour proprietaire l'UID effectif du processus. Si le repertoire au-dessus du nouveau repertoire a son bit Set-GID a 1, ou si le systeme de fichiers est monte avec une semantique de groupe BSD (mount -o bsdgroups ou, de facon equivalente, mount -o grpid), le nouveau repertoire heritera de l'appartenance au groupe de son parent. Sinon il appartiendra au groupe correspondant au GID effectif du processus. Si le repertoire parent a son bit Set-GID a 1, le nouveau repertoire aura aussi son bit Set-GID a 1. mkdirat() L'appel systeme mkdirat() fonctionne exactement comme mkdir(), les seules differences etant celles decrites ici. Si le chemin donne dans pathname est relatif, il est interprete par rapport au repertoire reference par le descripteur de fichier dirfd (plutot que par rapport au repertoire courant du processus appelant, comme dans mkdir()). Si pathname est relatif et dirfd a la valeur speciale AT_FDCWD, pathname est interprete relativement au repertoire courant du processus appelant, comme dans mkdir(). Si pathname est absolu, alors dirfd est ignore. Consultez openat(2) pour une explication de la necessite de mkdirat(). VALEUR RENVOYEE mkdir() et mkdirat() renvoient 0 en cas de succes. En cas d'erreur, la valeur de retour est -1 et errno est defini pour preciser l'erreur. ERREURS EACCES Le repertoire parent n'autorise pas l'ecriture au processus, ou l'un des repertoires de pathname n'autorise pas la consultation de son contenu. (Consultez aussi path_resolution(7).) EBADF (mkdirat()) pathname est relatif mais dirfd n'est ni AT_FDCWD ni un descripteur de fichier valable. EDQUOT Le quota de blocs de disque ou d'inoeuds de l'utilisateur sur le systeme de fichiers a ete atteint. EEXIST pathname existe deja (pas necessairement en tant que repertoire). Cela inclut le cas ou pathname est un lien symbolique, pouvant pointer nulle part. EFAULT nom_chemin pointe en dehors de l'espace d'adressage accessible. EINVAL Le dernier composant (<< basename >>) du pathname du nouveau repertoire n'est pas valable (il contient, par exemple, des caracteres non autorises par le systeme de fichiers sous-jacent). ELOOP Trop de liens symboliques ont ete rencontres en parcourant nom_chemin. EMLINK Le nombre maximal de liens vers le repertoire parent depasserait LINK_MAX. ENAMETOOLONG nom_chemin est trop long. ENOENT Un des repertoires du chemin d'acces nom_chemin n'existe pas ou est un lien symbolique pointant nulle part. ENOMEM La memoire disponible du noyau n'etait pas suffisante. ENOSPC Le peripherique contenant pathname n'a pas assez de place pour le nouveau repertoire. ENOSPC Le nouveau repertoire ne peut etre cree car le quota de disque de l'utilisateur est depasse. ENOTDIR Un element, utilise comme repertoire, du chemin d'acces nom_chemin n'est pas en fait un repertoire. ENOTDIR (mkdirat()) pathname est relatif et dirfd est un descripteur de fichier faisant reference a un fichier qui n'est pas un dossier. EPERM Le systeme de fichiers contenant pathname ne permet pas la creation de repertoires. EROFS pathname est place sur un systeme de fichiers en lecture seule. VERSIONS Sous Linux, outre les bits de permissions, le bit de mode S_ISVTX est gere. Notes de la glibc Sur les anciens noyaux ou mkdirat() n'est pas disponible, la fonction enveloppe de la glibc se rabat sur l'utilisation de mkdir(). Quand pathname est un chemin relatif, la glibc construit un chemin a partir du lien symbolique dans /proc/self/fd qui correspond au parametre dirfd. STANDARDS POSIX.1-2008. HISTORIQUE mkdir() SVr4, BSD, POSIX.1-2001. mkdirat() Linux 2.6.16, glibc 2.4. NOTES Il y a de nombreux problemes avec le protocole sous-jacent a NFS, certains d'entre eux peuvent affecter mkdir(). VOIR AUSSI mkdir(1), chmod(2), chown(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), acl(5), path_resolution(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 mkdir(2)