Provided by: manpages-fr-dev_2.45.1-1_all bug
 

NOM

        truncate, ftruncate - Tronquer un fichier à une longueur donnée.
 

SYNOPSIS

        #include <unistd.h>
        #include <sys/types.h>
 
        int truncate(const char *path, off_t length);
        int ftruncate(int fd, off_t length);
 

DESCRIPTION

        Les appels truncate() et ftruncate() tronquent le fichier référencé par
        path ou par le  descripteur  fd  à  une  longueur  d’exactement  length
        octets.
 
        Si  le  fichier  était plus long, les données supplémentaires sont per‐
        dues. Si le fichier était plus court, il  est  étendu,  et  la  portion
        supplémentaire est remplie de zéros.
 
        Le pointeur de position n’est pas modifié.
 
        Si  la  taille est modifiée, les champs st_ctime et st_mtime du fichier
        (respectivement heure de dernière modification d’état  et  de  dernière
        modification ;  voir  stat(2))  sont mis à jour, et les bits Set-UID et
        Set-GID peuvent être effacés.
 
        Avec ftruncate(), le fichier doit être ouvert en écriture ; avec  trun     
        cate(), il doit être accessible en écriture.
        En  cas  de  réussite,  zéro est renvoyé, sinon -1 est renvoyé et errno
        contient le code d’erreur.
 

ERREURS

        Pour truncate() :
 
        EACCES Le fichier n’est pas accessible en écriture, ou  un  élément  du
               chemin d’accès ne permet pas le parcours. (Voir aussi path_reso     
               lution(2).)
 
        EFAULT Path pointe en dehors de l’espace d’adressage accessible.
 
        EFBIG  L’argument length dépasse la taille maximum d’un fichier.
 
        EINTR  Un signal a été capturé durant l’exécution.
 
        EINVAL L’argument length est négatif ou plus grand que la taille  maxi‐
               male d’un fichier.
 
        EIO    Une erreur d’entrée-sortie bas niveau s’est produite.
 
        EISDIR Le fichier est en réalité un répertoire.
 
        ELOOP  Le  chemin  contient une référence circulaire (à travers un lien
               symbolique).
 
        ENAMETOOLONG
               Un composant du chemin dépasse 255 caractères ou le chemin  com‐
               plet dépasse 1023 caractères.
 
        ENOENT Le fichier indiqué n’existe pas.
 
        ENOTDIR
               Un composant du chemin d’accès n’est pas un répertoire.
 
        EPERM  Le  système  de  fichiers  ne  permet  pas d’agrandir un fichier
               au-delà de sa taille actuelle.
 
        EROFS  Le fichier se trouve sur  un  système  de  fichiers  en  lecture
               seule.
 
        ETXTBSY
               Le fichier est un programme actuellement en cours d’exécution.
 
        Pour  ftruncate() les mêmes erreurs sont possibles, sauf qu’au lieu des
        problèmes avec path, on peut en avoir avec fd :
 
        EBADF  L’argument fd n’est pas un descripteur valide.
 
        EBADF ou EINVAL
               L’argument fd n’est pas ouvert en écriture.
 
        EINVAL L’argument fd n’est pas un descripteur de fichier normal.
 

CONFORMIT

        BSD 4.4, SVr4, POSIX.1-2001  (ces  appels  système  sont  apparus  dans
        BSD 4.2).
 

NOTES

        La  description  ci-dessus est celle des systèmes compatibles XSI. Pour
        les systèmes non compatibles, le standard POSIX autorise deux comporte‐
        ments  pour  ftruncate()  quand  length  dépasse la longueur du fichier
        (notez que truncate() n’est pas du tout spécifié dans un  tel  environ‐
        nement) :  soit  renvoyer  une  erreur, soit étendre le fichier. Linux,
        comme la plupart des Unix, suit le comportement XSI sur les systèmes de
        fichiers natifs. Cependant, certains systèmes de fichiers non natifs ne
        permettent pas l’utilisation de truncate() et ftruncate() pour  étendre
        un  fichier  au-delà  de  sa  taille actuelle : un exemple notable sous
        Linux est VFAT.
        open(2), path_resolution(2), stat(2)
 

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