GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wann wurde die Datei erstellt?

Für diese Frage gibt es hier bereits Antworten :Wie finde ich das Erstellungsdatum der Datei?

(7 Antworten)
Vor 7 Jahren geschlossen.

Wie kann ich sehen, wann eine Datei erstellt wurde. Ich habe mir die Manpage angesehen

ls -lc ist für die letzte Änderung des Dateistatus

ls -lu für die Zugriffszeit

ls -l nicht genau angegeben wann, zuletzt geändert?

Ich habe diese ausprobiert, aber sie geben mir keine Zeit, wann die Datei erstellt wurde.

Akzeptierte Antwort:

Unter OS/X oder FreeBSD ist es die Option -U. Linux speichert jetzt auch die Geburts-/Erstellungszeit auf den meisten seiner nativen Dateisysteme, aber es gibt noch keine API, um sie abzurufen (2018 edit :seit Kernel 4.11 gibt es jetzt ein statx() Systemaufruf und seit Glibc 2.28 ein Libc-Wrapper dafür und seit Coreutils 8.31 GNU stat kann es anzeigen und (2021 bearbeiten ) seit 8.32 GNU ls kann es mit --time=birth anzeigen ).

Auf ext4-Dateisystemen können Sie jedoch debugfs verwenden, um es zu bekommen:

$ sudo debugfs /dev/some/fs
stat /some/file
[...]
crtime: 0x53208d7a:9045625c -- Wed Mar 12 16:38:18 2014
[...]

(wobei /some/file ist der Pfad innerhalb dieses Dateisystems)

Informationen zu NTFS-Dateisystemen und unter der Annahme, dass Sie ntfs-3g zum Mounten verwenden, finden Sie unter Wie erhalte ich das Erstellungsdatum einer Datei auf einem logischen NTFS-Volume?

Wenn Sie ein ausreichend aktuelles Linux-System haben, können Sie xfs_io verwenden ‘s statx Unterbefehl zum Aufrufen des neuen statx() Systemaufruf und erhalten Sie die Geburtszeit:

$ TZ=UTC0 xfs_io -c 'statx -v' /some/file
[...]
stat.btime = Thu Feb  7 17:11:20 2019
[...]

(hier in UTC-Zeit mit TZ=UTC0 da sonst das Datum nicht eindeutig wäre, da der UTC-Offset nicht ausgegeben wird). Oder mit statx -r was Ihnen den Nanosekundenteil und eine leichter zu analysierende Zeit gibt:

$ xfs_io -c 'statx -r' /some/file
[...]
stat.btime.tv_sec = 1549559480
stat.btime.tv_nsec = 964691587
[...]

Mit GNU stat 8.31 oder neuer auf Systemen mit glibc 2.28 oder neuer und einem Kernel 4.11 oder neuer:

$ stat /some/file | grep Birth:
 Birth: 2018-05-24 16:27:28.415875403 +0100
$ stat -c '%.9W %w' /some/file
1527175648.415875403 2018-05-24 16:27:28.415875403 +0100

Mit GNU ls 8.32 oder neuer auf Systemen mit glibc 2.28 oder neuer und einem Kernel 4.11 oder neuer:

$ ls -l --time=birth --full-time /some/file
-rw-r--r-- 1 stephane stephane 2333836 2018-05-24 16:27:28.415875403 +0100 /some/file

Traditionell hat Unix keine Erstellungszeit gespeichert.

Beachten Sie, dass dieser Wert möglicherweise weniger Bedeutung hat, als Sie vielleicht denken.

Die Änderungszeit spiegelt das Alter der Daten in dieser Datei wider, die Zugriffszeit wann zuletzt darauf zugegriffen wurde, die Inode-Änderungszeit ist zum Beispiel für Backup-Software sehr nützlich, da Sie nichts über diese Datei wissen, die sich seit dieser Zeit geändert hat (außer möglicherweise ihrem vollständigen Pfad, für den Sie sich die ctime ihrer Verzeichniskomponenten ansehen können).

Verwandt:Problem mit Bundleconfig-Datei?

Die Erstellungszeit ist, wenn der Inode entsteht (naja, hatte eine Linkanzahl von 0 bis 1, dieser Inode wurde möglicherweise in einem früheren Leben zugewiesen und entfernt), spiegelt er nicht das Alter von Daten wider, die mit dieser Datei verbunden sind (Daten sind geschrieben, nachdem die Datei erstellt wurde), sagt es uns nicht, ob eine Datei durch diesen Pfad zu diesem Zeitpunkt entstanden ist (die Datei, die wir betrachten, kann unter einem anderen Pfad erstellt und später dorthin verlinkt oder verschoben worden sein).


Linux
  1. Alter der gegebenen Datei abrufen?

  2. Kodierung einer Zip-Datei?

  3. Holen Sie sich die erstellte Datei/Erstellungszeit??

  4. So finden Sie heraus, wann die Spfile auf einem Linux-Server erstellt wurde

  5. Verständnis der Zeitstempel von Mac-Dateien

Wann haben Sie das letzte Mal Windows verwendet?

So zeigen Sie an, wann in Ubuntu zuletzt auf eine Datei zugegriffen wurde

Zeitstempel, Änderungszeit und Erstellungszeit einer Datei

Dateizugriffszeit wird in Ubuntu 12.04 nicht aktualisiert

Ermitteln, wann eine aktuell geöffnete TCP-Verbindung erstellt wurde?

Wie lösche ich .fuse_hidden*-Dateien?