BEZEICHNUNG

utime, utimes - letzte Dateizugriffs- und -änderungszeiten ändern

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

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

BESCHREIBUNG

Hinweis: Moderne Anwendungen könnten es bevorzugen, die in utimensat(2) beschriebenen Schnittstellen zu benutzen.
Der Systemaufruf utime ändert die Zugriffs- und Änderungszeiten des durch dateiname angegebenen Inodes auf die Felder actime beziehungsweise modtime von zeiten. Die Statusänderungszeit (ctime) wird auf die aktuelle Zeit gesetzt, selbst wenn die anderen Zeitstempel nicht geändert werden.
Falls zeiten NULL ist, werden die Zugriffs- und Änderungszeiten der Datei auf die aktuelle Zeit gesetzt.
Das Ändern von Zeitstempeln ist erlaubt, wenn entweder der Prozess entsprechende Rechte hat, die effektive Benutzerkennung der Benutzerkennung der Datei entpricht oder zeiten NULL ist und der Prozess das Schreibrecht für die Datei besitzt.
Die Struktur utimbuf hat folgenden Aufbau:

struct utimbuf {
        time_t actime;  /* Zugriffszeit */
        time_t modtime; /* Änderungszeit */
};

Der Systemaufruf utime() erlaubt die Angabe von Zeitstempeln mit einer Genauigkeit von einer Sekunde.
Der Systemaufruf utimes() ist ähnlich, aber das Argument zeiten bezieht sich auf ein Feld statt auf eine Struktur. Die Elemente dieses Feldes sind timeval-Strukturen, die eine Genauigkeit von Mikrosekunden für die Angabe von Zeitstempeln ermöglichen. Die Struktur timeval hat folgenden Aufbau:

struct timeval {
        long    tv_sec;         /* Sekunden */
        long    tv_usec;        /* Mikrosekunden */
};

zeiten[0] gibt die neue Zugriffszeit an und zeiten[1] die neue Änderungszeit. Falls zeiten NULL ist, werden wie bei utime() die Zugriffs- und Änderungszeiten der Datei auf die aktuelle Zeit gesetzt.

RÜCKGABEWERT

Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EACCES
In einem oder mehreren Verzeichnissen im Pfad-Präfix von pfad wurde die Erlaubnis zum Suchen verweigert.
EACCES
zeiten ist NULL, die effektive Benutzerkennung des Aufrufenden entspricht nicht dem Dateieigentümer, der Aufrufende hat kein Schreibrecht für die Datei und der Aufrufende ist nicht privilegiert (Linux: ihm fehlt entweder die CAP_DAC_OVERRIDE- oder die CAP_FOWNER-Capability).
ENOENT
dateiame existiert nicht.
EPERM
zeiten ist nicht NULL, die effektive UID des Aufrufenden entspricht nicht dem Dateieigentümer und der Aufrufende ist nicht privilegiert (Linux: ihm fehlt die CAP_FOWNER-Capability).
EROFS
pfad liegt auf einem Dateisystem mit reinem Lesezugriff.

STANDARDS

utime(): SVr4, POSIX.1-2001. POSIX.1-2008 kennzeichnet utime() als veraltet.
utimes(): 4.3BSD, POSIX.1-2001.

ANMERKUNGEN

Linux erlaubt es nicht, dass Zeitstempel einer unveränderlichen Datei geändert werden oder bei einer Datei, an die nur etwas angehängt werden darf, die Zeitstempel auf etwas anderes als die aktuelle Zeit geändert werden.

SIEHE AUCH

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

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <[email protected]>, Chris Leick <[email protected]> und Mario Blättermann <[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer

Recommended readings

Pages related to utime you should read also: