xenial (2) mkdir.2.gz

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> ».