table of contents
- trixie 4.27.0-1
 - trixie-backports 4.28.0-2~bpo13+2
 - testing 4.28.0-2
 - unstable 4.28.0-2
 
| utime(2) | System Calls Manual | utime(2) | 
NOME¶
utime, utimes - cambia l'ultimo orario di accesso e di modifica di un file
LIBRERIA¶
Libreria C standard (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).
La chiamata di sistema utime() cambia gli orari di accesso e di modifica dell'inode specificato da filename rispettivamente con quelle contenute nei campi actime e modtime di times. L'orario di modifica dello stato (ctime) verrà impostato all'orario corrente anche se gli altri orari rimangono invariati.
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.
 
CONFORME A¶
POSIX.1-2008.
STORIA¶
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 <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>
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 pluto-ildp@lists.pluto.it.
| 2 maggio 2024 | Linux man-pages 6.9.1 |