NOME

utime, utimes - cambia l'ultimo orario di accesso e di modifica di un file

LIBRARY

Standard C library ( libc, -lc)

SINTASSI

#include <utime.h>
int utime(const char *filename,
          const struct utimbuf *_Nullable times);
#include <sys/time.h>
int utimes(const char *filename,
          const struct timeval times[_Nullable 2]);

DESCRIZIONE

Nota: le applicaizoni moderne potrebbero preferire le interfacce descritte in utimensat(2).
The utime() system call changes the access and modification times of the inode specified by filename to the actime and modtime fields of times respectively. The status change time (ctime) will be set to the current time, even if the other time stamps don't actually change.
Se times è NULL, allora gli orari di accesso e modifica del file sono impostati a quelli correnti.
Cambiare le marcature orarie è permesso quando: o il processo ha i privilegi appropriati, o la user ID effettiva dell'utente è uguale alla user ID del file, o times è NULL e il processo ha permessi di scrittura sul file.
La struttura utimbuf è la seguente:

struct utimbuf {
    time_t actime;       /* ora di accesso */
    time_t modtime;      /* ora di modifica */
};

La chiamata di sistema utime() permette di specificare le marcature orarie con una risoluzione di 1 secondo.
La chiamata di sistema utimes() è simile, ma gli argomenti di times fanno riferimento ad un array, non a una struttura. Gli elementi di questo array sono strutture timeval, che permettono una precisione di 1 microsecondo nello specificare data e ora. La struttura timeval è la seguente:

struct timeval {
    long tv_sec;        /* secondi */
    long tv_usec;       /* microsecondi */
};

times[0] specifica la nuova ora di accesso, e times[1] specifica la nuova ora di modifica. Se times è NULL, analogamente a utime(), le date di accesso e modifica del file sono impostate a quelle correnti.

VALORE RESTITUITO

In caso di successo restituisce zero. In caso di errore restituisce -1, e errno verrà impostato per indicare l'errore.

ERRORI

EACCES
Il permesso di ricerca è negato per una delle directory nel prefisso del percorso di path (vedere anche path_resolution(7)).
EACCES
times è NULL, l'ID effettivo dell'utente chiamante non corrisponde a quello del proprietario del file, il chiamante non ha accesso in scrittura al file, e il chiamante non ha i privilegi necessari (Linux: non ha capacità CAP_DAC_OVERRIDE o CAP_FOWNER).
ENOENT
filename non esiste.
EPERM
times non è NULL, l'UID effettivo del chiamante non corrisponde al proprietario del file, e il chiamante non ha i privilegi necessari (Linux: non ha capacità CAP_FOWNER).
EROFS
path risiede su un filesystem in sola lettura.

STANDARDS

utime(): SVr4, POSIX.1-2001. POSIX.1-2008 marca utime() come obsoleto.
utimes(): 4.3BSD, POSIX.1-2001.

NOTE

Linux non permette di cambiare data e ora su un file immutabile, o di impostarle a qualcosa di diverso dall'ora corrente in un file di tipo append-only.

VEDERE ANCHE

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

TRADUZIONE

La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <[email protected]>, Giulio Daprelà <[email protected]>, Elisabetta Galli <[email protected]> e Marco Curreli <[email protected]>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.
Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a [email protected]

Recommended readings

Pages related to utimes you should read also: