Ich möchte das Erstellungsdatum einer bestimmten Datei herausfinden, nicht das Änderungsdatum oder das Zugriffsdatum.
Ich habe es mit ls -ltrh versucht und stat filename .
Akzeptierte Antwort:
stat -c '%w' file auf Dateisystemen, die die Erstellungszeit speichern.
Beachten Sie, dass dies unter Linux coreutils erfordert 8.31, glibc 2.28 und Kernel-Version 4.11 oder neuer.
Der POSIX-Standard definiert nur drei unterschiedliche Zeitstempel, die für jede Datei gespeichert werden sollen:die Zeit des letzten Datenzugriffs, die Zeit der letzten Datenänderung und die Zeit, zu der sich der Dateistatus zuletzt geändert hat.
Moderne Linux-Dateisysteme wie ext4, Btrfs, XFS (v5 und höher) und JFS speichern zwar die Dateierstellungszeit (auch bekannt als Geburtszeit), verwenden jedoch andere Namen für das betreffende Feld (crtime in ext4/XFS, otime in Btrfs und JFS). Linux bietet die statx(2)-Systemaufrufschnittstelle zum Abrufen der Dateigeburtszeit für Dateisysteme, die dies seit Kernel-Version 4.11 unterstützen. (Sogar wenn einem Dateisystem Unterstützung zur Erstellungszeit hinzugefügt wurde, haben einige bereitgestellte Kernel dies nicht sofort unterstützt, selbst nachdem nominelle Unterstützung für diese Dateisystemversion hinzugefügt wurde, z. B. XFS v5.)
Wie Craig Sanders und Mohsen Pahlevanzadeh betonten, stat unterstützt den %w und %W Formatspezifizierer zum Anzeigen der Geburtszeit der Datei (in menschenlesbarem Format bzw. in Sekunden seit Epoche) vor coreutils Version 8.31. Jedoch coreutils stat verwendet die statx() Systemaufruf, wo verfügbar, um die Geburtszeit nur seit Version 8.31 abzurufen.
Vor coreutils Version 8.31 stat Zugriff auf die Geburtszeit über get_stat_birthtime() bereitgestellt von gnulib (in lib/stat-time.h ), die die Geburtszeit aus st_birthtime erhält und st_birthtimensec Felder der stat Struktur, die von stat() zurückgegeben wird Systemaufruf. Während zum Beispiel BSD-Systeme (und in Erweiterung OS X) st_birthtime bereitstellen über stat , Linux nicht. Aus diesem Grund stat -c '%w' file gibt - aus (zeigt eine unbekannte Erstellungszeit an) unter Linux vor coreutils 8.31 sogar für Dateisysteme, die die Erstellungszeit intern speichern.
Wie Stephane Chazelas betont, legen einige Dateisysteme, wie etwa ntfs-3g, die Dateierstellungszeiten über erweiterte Dateiattribute offen.