Loading

NOM

       mkdir - Créer un répertoire

SYNOPSIS

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

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

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

       Le  paramètre  mode spécifie 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.

VALEUR RENVOYÉE

       mkdir() renvoie 0 s’il réussit, ou -1 s’il  échoue,  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. (Voir aussi path_resolution(7).)

       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.

       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.

CONFORMITÉ

       SVr4, BSD, POSIX.1-2001.

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). Voir 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), mkdirat(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.23 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

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

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