Was ist die Zugriffszeit in Unix
Ich will wissen, was die Zugriffszeit. Ich suchte im web, aber bekam die gleiche definition:
Lesen - verändert wird
Weiß ich, mit touch
wir es ändern können. Könnte jemand mir erklären, mehr über Sie mit einem Beispiel, wie es geändert wird? Und gibt es einen Weg, um die erstellen Datum/Zeit in unix?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
stat(2)
Struktur speichert alle Datei-Datum/Zeit:st_atime
ist die Zugang Zeit, aktualisiert amread(2)
Anrufe (und wahrscheinlich auch, wennopen(2)
öffnet eine Datei zum Lesen) - es wird NICHT aktualisiert, wenn Dateien gelesen werden übermmap(2)
. (Das ist, warum ich gehe davon ausopen(2)
markiert den Zugang mal.)st_mtime
ist die Daten änderung der Zeit, entweder überwrite(2)
odertruncate(2)
oderopen(2)
für das schreiben. (Wieder, es wird NICHT aktualisiert, wenn Dateien geschrieben werden, übermmap(2)
.)st_ctime
ist die Metadaten änderungsdatum: wenn eine der anderen Daten in derstruct stat
wird geändert.Ändern Sie können die Zeitstempel für Dateien mit
utime(2)
:Hinweis: Sie können ändern Sie nur die Zugriffszeit und (Daten) die änderung Zeit. Sie können entweder diese zu beliebigen Zeitpunkten, aber die
ctime
wird auf die aktuelle Zeit-denn Sie verändert die Metadaten für die Datei.Es gibt keine Zeit erstellen, die in dieser Struktur, so ist es nicht möglich heraus zu finden, Wann eine Datei erstellt wurde, direkt aus dem system.
Wenn Sie wirklich brauchen, zu wissen, die Zeit erstellen, können Sie eingrenzen, auf einen Bereich, indem wir Ihre sicherungen-vorausgesetzt, die Datei, die Sie interessiert sind gesichert worden, zusammen mit deren Metadaten.
read(2)
,pread(2)
,readv(2)
,readdir(2)
,readlink(2)
,splice(2)
,sendfile(2)
, und so weiter. In anderen Worten, alles, liest den Inhalt der Datei. Also, wenn Ihr Programm hat eine Datei Lesen, dann kann es ändern, wird die Zugriffszeit der Datei Lesen. (Natürlich, einige Dateisysteme schalten Sie die Zugriffszeiten für die Leistung oder Zuverlässigkeit.) wenn Sie wollen, suchen von Programmen, die bestimmte system-Aufrufe, die Sie tun können, so etwas wie dieses:for f in /bin/* /usr/bin/* /sbin/* /usr/sbin/* ; do readelf -s $f | grep -q readdir@GLIBC && echo $f ; done 2> /dev/null
letzter Zugriff: Zeitpunkt, wenn die Datei zuletzt zugegriffen haben. Geändert von der mknod(2), utimes(2) und read(2) system calls.
zuletzt geändert: Zeit, wenn die Datei-Daten der letzten änderung. Geändert von der mknod(2), utimes(2) und write(2) - Systemaufrufe.
zuletzt geändert: Zeit, wenn der status der Datei geändert wurde (inode-änderung von Daten). Geändert von der chmod(2), chown(2), link(2), mknod(2), umbenennen(2), unlink(2), utimes(2) und write(2) - Systemaufrufe.
Im Gegensatz zu einer obigen Antwort, die Schöpfung oder tatsächlich "Geburts" - Datum wird gespeichert und kann zugegriffen werden, siehe
https://unix.stackexchange.com/a/50184/8250
(die debugfs sollte getan werden, unter sudo)
die Durchschnittliche Zeit zwischen einer Anforderung für Informationen, die in einer bestimmten Komponente wie schwer abzuleiten oder RAM und Lieferung. Auf der anderen Wortes die Zeit zwischen, wenn eine read-Anforderung und wenn das gewünschte Wort kommt. Zum Beispiel 235,288 Einheiten/13,82 Transaktionen = 16.8 Einheiten pro Transaktion.