Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       mkdir, mkdirat - Créer un répertoire

SYNOPSIS

       #include <sys/stat.h>
       #include <sys/types.h>

       int mkdir(const char *pathname, mode_t mode);

       #include <fcntl.h>           /* Définition des constantes AT_* */
       #include <sys/stat.h>

       int mkdirat(int dirfd, const char *pathname, mode_t mode);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       mkdirat() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _ATFILE_SOURCE

DESCRIPTION

       mkdir() crée un nouveau répertoire nommé pathname.

       Le paramètre mode indique les permissions à appliquer au  répertoire.  Cette  valeur  peut
       être modifiée par le umask du processus : les permissions du répertoire effectivement créé
       vaudront (mode & ~umask & 0777). Les autres bits de mode du répertoire créé  dépendent  du
       système d'exploitation. Pour Linux, voir plus loin.

       Le  répertoire nouvellement créé aura pour propriétaire l'UID effectif du processus. Si le
       répertoire au‐dessus du nouveau répertoire a son bit Set-GID à 1,  ou  si  le  système  de
       fichiers  est  monté  avec  une  sémantique de groupe BSD (mount -o bsdgroups ou, de façon
       équivalente, mount -o grpid), le nouveau répertoire héritera de l'appartenance  au  groupe
       de son parent. Sinon il appartiendra au groupe correspondant au GID effectif du processus.

       Si  le  répertoire  parent a son bit Set-GID à 1, le nouveau répertoire aura aussi son bit
       Set-GID à 1.

   mkdirat()
       L'appel système mkdirat() fonctionne exactement  comme  mkdir(),  les  seules  différences
       étant celles décrites ici.

       Si  le chemin donné dans pathname est relatif, il est interprété par rapport au répertoire
       référencé par le descripteur de fichier  dirfd  (plutôt  que  par  rapport  au  répertoire
       courant du processus appelant, comme dans mkdir()).

       Si  pathname  est  relatif et dirfd a la valeur spéciale AT_FDCWD, pathname est interprété
       relativement au répertoire courant du processus appelant, comme dans mkdir().

       Si pathname est un chemin absolu, dirfd est ignoré.

       Consultez openat(2) pour une explication de la nécessité de mkdirat().

VALEUR RENVOYÉE

       mkdir() et mkdirat() renvoient 0 en cas de succès, ou -1 si une erreur se produit,  auquel
       cas errno contient le code d'erreur.

ERREURS

       EACCES Le   répertoire  parent  n'autorise  pas  l'écriture  au  processus,  ou  l'un  des
              répertoires de pathname n'autorise pas la consultation de son  contenu.  (Consultez
              aussi path_resolution(7).)

       EDQUOT Le quota de blocs de disque ou d'inœuds de l'utilisateur sur le système de fichiers
              a été atteint.

       EEXIST pathname existe déjà (pas nécessairement un répertoire).  Cela  inclut  le  cas  où
              pathname est un lien symbolique, pouvant pointer nulle part.

       EFAULT pathname pointe en‐dehors de l'espace d'adressage accessible.

       ELOOP  Trop de liens symboliques ont été rencontrés en parcourant pathname.

       EMLINK Le nombre maximal de liens vers le répertoire parent dépasserait LINK_MAX.

       ENAMETOOLONG
              pathname est trop long.

       ENOENT Un  des  répertoires  du  chemin  d'accès  pathname  n'existe  pas  ou  est un lien
              symbolique pointant nulle part.

       ENOMEM Pas assez de mémoire pour le noyau.

       ENOSPC Le périphérique  contenant  pathname  n'a  pas  assez  de  place  pour  le  nouveau
              répertoire.

       ENOSPC Le nouveau répertoire ne peut être créé car le quota de disque de l'utilisateur est
              dépassé.

       ENOTDIR
              Un élément du chemin d'accès pathname n'est pas un répertoire.

       EPERM  Le système de fichiers contenant pathname ne permet pas la création de répertoires.

       EROFS  pathname est placé sur un système de fichiers en lecture seule.

       Les erreurs supplémentaires suivantes peuvent également se produire pour mkdirat() :

       EBADF  dirfd n'est pas un descripteur de fichier valable.

       ENOTDIR
              pathname est relatif, et le descripteur de fichier dirfd est associé à un  fichier,
              pas à un répertoire.

VERSIONS

       mkdirat()  a été ajouté au noyau Linux dans sa version 2.6.16 ; la glibc le gère depuis la
       version 2.4.

CONFORMITÉ

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

       mkdirat() : POSIX.1-2008.

NOTES

       Sous Linux, à part les bits de permission, seul le bit de mode S_ISVTX est honoré.  C'est‐
       à‐dire  que  sous  Linux,  le  répertoire  réellement  créé prend le mode (mode & ~umask &
       01777). Consultez aussi stat(2).

       Il y a de nombreux problèmes avec le protocole sous‐jacent à  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),
       path_resolution(7)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».