Loading

NOM

       utime,  utimes  -  Modifier  la  date  d’accès  ou de modification d’un
       fichier

SYNOPSIS

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

       int utime(const char *filename, const struct utimbuf *times);

       #include <sys/time.h>

       int utimes(const char *filename, const struct timeval times[2]);

       L’appel système utime() change les dates d’accès et de modification  de
       l’inœud  indiqué par filename pour les valeurs contenues respectivement
       dans les champs actime et modtime de times.

       Si times est NULL, les dates d’accès et de modification  sont  mises  à
       l’heure actuelle.

       La modification des horodatages est permise lorsque soit le processus a
       les privilèges appropriés, soit l’UID effectif  est  égal  à  l’UID  du
       fichier,  soit times est nul et le processus a la permission d’écriture
       sur le fichier.

       La structure utimbuf est la suivante :

           struct utimbuf {
               time_t actime;       /* heure d’accès  */
               time_t modtime;      /* heure de modification */
           };

       L’appel système utime() permet des  spécifications  d’horodatages  avec
       une résolution d’une seconde.

       L’appel  système  utimes()  est  similaire mais le paramètre times fait
       référence à un tableau au lieu d’une  structure.  Les  éléments  de  ce
       tableau  sont  des  structures timeval, qui permet une résolution d’une
       microseconde  pour  les  horodatages.  La  structure  timeval  est   la
       suivante :

           struct timeval {
               long tv_sec;        /* secondes      */
               long tv_usec;       /* microsecondes */
           };

       times[0]  indique  la  nouvelle  heure  d’accès, et times[1] indique la
       nouvelle heure de modification. Si times est NULL, de manière  analogue
       à  utime(), les heures d’accès et modification du fichier sont définies
       à l’heure actuelle.

VALEUR RENVOYÉE

       En cas de réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       EACCES La  permission  de  parcours est refusée pour un des répertoires
              contenu dans le chemin path. (Voir aussi path_resolution(7))

       EACCES times est NULL, l’UID effectif de l’appelant ne  correspond  pas
              au  propriétaire  du  fichier,  l’appelant n’a pas la permission
              d’écriture sur le fichier et  l’appelant  n’est  pas  privilégié
              (Linux :  n’a  ni  la  capacité CAP_DAC_OVERRIDE, ni la capacité
              CAP_FOWNER).

       ENOENT filename n’existe pas.

       EPERM  times n’est pas NULL, l’UID effectif de l’appelant ne correspond
              pas   au   propriétaire  du  fichier  et  l’appelant  n’est  pas
              privilégié (Linux : n’a pas la capacité CAP_FOWNER).

       EROFS  path se trouve sur un système de fichiers en lecture seule.

CONFORMITÉ

       utime() : SVr4, POSIX.1-2001.  POSIX.1-2008 marque utime() comme  étant
       obsolète.
       utimes() : BSD 4.3, POSIX.1-2001.

NOTES

       Linux  n’autorise  pas  la  modification d’horodatages sur les fichiers
       immuables, ou l’horodatage avec autre chose que la  date  courante  sur
       les fichiers en ajout seulement.

       Dans  libc4  et libc5, utimes() est juste une enveloppe à utime() et ne
       permet donc pas des résolutions inférieure à la seconde.

VOIR AUSSI

       chattr(1), futimesat(2), stat(2), utimensat(2), futimes(3), futimens(3)

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