Gibt es in Linux einen Befehl, um alle Zeitstempel einer Datei zu überprüfen?
Ich versuche, die zuletzt geänderten, erstellten und berührten Daten in der Datei anzuzeigen.
linux
timestamp
date-modified
Mechaflash
quelle
quelle
struct stat
leider nicht einfach erweitern, ohne Dinge zu zerbrechen ...) Sie könnendebugfs -R "stat <1234>" /dev/sdXY
ext4 ausprobieren , indem Sie es1234
durch ein ino ersetzen .stat
Befehl angezeigt werden. Siehe Wie finde ich das Erstellungsdatum der Datei? und Welche Dateisysteme unter Linux speichern die Erstellungszeit? .Antworten:
Der Befehl wird aufgerufen
stat
.Wenn Sie das Format anpassen möchten, lesen Sie die Manpages, da die Ausgabe betriebssystemspezifisch ist und unter Linux / Unix variiert.
Im Allgemeinen können Sie die Zeiten auch über eine normale Verzeichnisliste abrufen:
ls -l
gibt aus, wann der Dateiinhalt zuletzt geändert wurdemtime
ls -lc
Gibt den letzten Zeitpunkt der Dateistatusänderung aus.ctime
( Was ist der Unterschied? )ls -lu
gibt die letzte Zugriffszeit aus, dieatime
(obwohl der Nutzen dieses Konzepts zur Diskussion steht )Und natürlich
ctime
wird nicht aufgezeichnet, wann eine Datei "erstellt" wurde. Die POSIX-Spezifikation definiert nur drei Zeitstempel, aber einige Linux-Dateisysteme speichern die Geburts- / Erstellungszeit. Wie finde ich das Erstellungsdatum der Datei? Auf einer solchen unterstützten Konfiguration könnte man verwendenquelle
stat
ist wirklich detailliert. Benötigt aberls
nur eine Leitung. Es wäre gut, wenn es auch Sekunden anzeigen könnte. Bei der Erstellung von Dateilisten ist jedoch die erstere perfekt geeignet.ls -l
ein anderes Datumsformat anzeigen kann, wenn BusyBox installiert ist (auf Android). Ich denke, dass es ohne so etwas wie "2019-07-26 14:41" und mit so etwas wie "6. Mai 21:27" ist. Wie kommt es, dass das Jahr fehlt? Gibt es eine Möglichkeit, es im Format ohne zu erzwingen?Es werden nur DREI unterschiedliche Zeitwerte für jede Ihrer Dateien gespeichert, wie im POSIX-Standard definiert : http://pubs.opengroup.org/onlinepubs/9699919799/ (siehe Abschnitt Basisdefinitionen -> 4. Allgemeine Konzepte -> 4.8 Datei Times Update)
Und von <sys / stat.h> :
Die folgenden Beispiele zeigen den Unterschied zwischen atime , mtime und ctime . Diese Beispiele sind in GNU / Linux BASH enthalten. Sie können
stat -x
in Mac OS X oder einem anderen BSD Dist. um das ähnliche Ausgabeformat zu sehen.Wenn die Datei gerade erstellt wird, sind drei Zeitstempel gleich.
1. atime
Greifen wir zunächst auf die Daten der Datei zu, indem wir sie lesen (
less
odervim
), ausdrucken (cat
) oder in eine andere Datei kopieren (cp
).2. ctime
Jetzt ändern wir den Dateistatus, indem wir die Berechtigung ändern (
chmod
) oder umbenennen (mv
)Beachten Sie, dass der Inhalt (die Daten ) der Datei bis jetzt immer noch derselbe ist, als sie erstellt wurde.
3. mtime
Zuletzt ändern wir den Inhalt der Datei, indem wir die Datei bearbeiten.
4. Geburtszeit
Beachten Sie auch, dass die neuere Version von
stat
(z. B.stat --version 8.13
in Ubuntu 12.04) Informationen zum vierten Zeitstempel enthält - die Geburtszeit (Erstellungszeit der Datei). Obwohl im Moment möglicherweise nicht die richtige Uhrzeit angezeigt wird:quelle