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

Linux – Wie finde ich das Erstellungsdatum der Datei?

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.


Linux
  1. So finden und sortieren Sie Dateien basierend auf Änderungsdatum und -zeit in Linux

  2. So finden Sie eine Datei in Linux

  3. Linux – Wie erhalte ich das Erstellungsdatum einer Datei auf einem logischen Ntfs-Volume?

  4. Wie bekomme ich Datum/Uhrzeit der Dateierstellung in Bash/Debian?

  5. Wie löschen Sie Dateien, die älter als ein bestimmtes Datum in Linux sind?

So finden Sie das genaue Installationsdatum und die Uhrzeit Ihres Linux-Betriebssystems

Linux-Berechtigungen – So finden Sie Berechtigungen einer Datei

So finden Sie Dateien basierend auf dem Zeitstempel in Linux

So finden Sie die längste(n) Zeile(n) in einer Datei in Linux

So finden Sie das Installationsdatum und die Uhrzeit des Linux-Betriebssystems

So stellen Sie Datum und Uhrzeit unter Linux ein