commande mknod

Si vous voulez revenir sur la PAGE PRéCéNTE.

Commande mknod


  • mknod


  • MKNOD(2)                  Manuel du programmeur Linux                 MKNOD(2)
    
    NOM
           mknod - Créer un noeud du système de fichiers.
    
    SYNOPSIS
           #include 
           #include 
           #include 
           #include 
    
           int mknod(const char *pathname, mode_t mode, dev_t dev);
    
    DESCRIPTION
           mknod crée un noeud du système de fichiers (fichier, fichier spécial de
           périphérique ou tube) appelé pathname, avec les attributs mode et dev.
    
           L'argument mode définit à la fois les permissions d'utilisation, et  le
           type de noeud à créer. C'est une combinaison par OU binaire ( | ) entre
           l'un des types de noeuds ci-dessous et les permissions d'accès pour  le
           nouveau noeud.
    
           Les  permissions sont modifiées par le umask du processus : les permis‐
           sions effectivement écrites sont (mode & ~umask).
    
           Le type de noeud doit être l'un des suivants S_IFREG, S_IFCHR,  S_IFBLK
           S_IFIFO  ou  S_IFSOCK  pour  indiquer  respectivement un fichier normal
           (vide à la création), un fichier spécial  mode  caractère,  un  fichier
           spécial  mode bloc, un tube nommé (FIFO) ou une socket du domaine Unix.
           On peut également utiliser 0 pour créer un fichier normal.
    
           Si le noeud est de type S_IFCHR or S_IFBLK alors dev doit spécifier les
           numéros  majeurs  et  mineurs  du périphérique associé, pour les autres
           types de noeuds, dev est ignoré.
    
           Si pathname existe déjà, ou est un lien symbolique, l'appel échoue avec
           l'erreur EEXIST.
    
           Le  noeud  nouvellement  créé  aura pour propriétaire l'UID effectif du
           processus. Si le répertoire contenant ce noeud a son bit Set-GID  à  1,
           ou  si le système de fichier est monté avec une sémantique BSD, le nou‐
           veau noeud héritera de l'appartenance au groupe de son parent. Sinon il
           appartiendra au groupe effectif du processus.
    
    VALEUR RENVOYÉE
           mknod  renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno con‐
           tient le code d'erreur.
    
    ERREURS
           EPERM  mode demande la création d'un noeud autre qu'un fichier régulier
                  une  FIFO  (tube nommé) ou une socket du domaine Unix, alors que
                  le processus appelant n'est pas le Super-User. Cette  erreur  se
                  produit également si le système de fichier contenant pathname ne
                  supporte pas les noeuds du type demandé.
    
           EINVAL mode demande la création d'autre  chose  qu'un  fichier  normal,
                  fichier spécial de périphérique, DIFO ou socket.
    
           EEXIST pathname existe déjà
    
           EFAULT pathname pointe en-dehors de l'espace d'adressage accessible.
    
           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.
    
           ENAMETOOLONG
                  pathname trop long.
    
           ENOENT Un  répertoire du chemin d'accès pathname n'existe pas ou est un
                  lien symbolique pointant nulle part.
    
           ENOTDIR
                  Un élément utilise dans le chemin pathname n'est pas  un  réper‐
                  toire.
    
           ENOMEM Pas assez de mémoire pour le noyau.
    
           EROFS  pathname  serait  placé  sur  un  système  de fichier en lecture
                  seule.
    
           ELOOP  pathname contient une référence circulaire (à  travers  un  lien
                  symbolique).
    
           ENOSPC Le  périphérique  contenant pathname n'a pas assez de place pour
                  le nouveau noeud.
    
    CONFORMITÉ
           SVr4 (mais l'appel y nécessite des privilèges, alors qu'il n'y en a pas
           besoin  dans POSIX), BSD 4.4. La version Linux diffère de celle de SVr4
           en ceci qu'elle n'a pas besoin de privilèges root pour créer des tubes,
           et qu'elle ne décrit pas les erreurs EMULTIHOP, ENOLINK, et EINTR.
    
    NOTES
           Posix  1003.1-2001 dit : "Le seul usage portable de mknod() est réservé
           à la création de fichiers spéciaux FIFO. Si le mode n'est  pas  S_IFIFO
           ou  si  dev  n'est pas 0, alors le comportement de mknod() est indéter‐
           miné.
    
           Sous Linux mknod ne peut pas être utilisé pour créer  des  répertoires.
           Il faut créer les répertoires avec mkdir, et les FIFO avec mkfifo.
    
           Il  y a de nombreux problèmes avec le protocole sous-jacent à NFS, cer‐
           tains d'entre-eux pouvant affecter mknod.
    
    VOIR AUSSI
           fcntl(2), mkdir(2), mount(2), socket(2), stat(2), umask(2),  unlink(2),
           mkfifo(3)
    
    TRADUCTION
           Christophe Blaess, 1996-2003.
    
    LDP                             30 juillet 2003                       MKNOD(2)
    
    



    Mes sources sont extraites de "www.linux-france.org" que je remercie au passage, pour sa traduction

    Pour me contacter pour me faire des remarques, des critiques, ou tout simplement pour m'indiquer un lien cassé ou un nouveau lien vers une ressource intéressante (peut-être la votre) à rajouter dans cette page: dafpolo@gmail.com
    vous pouvez également laisser un message sur mon Livre d'or.