GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Come trovare la data di creazione del file?

Voglio scoprire la data di creazione di un particolare file, non la data di modifica o la data di accesso.

Ho provato con ls -ltrh e stat filename .

Risposta accettata:

stat -c '%w' file su filesystem che memorizzano l'ora di creazione.

Nota che su Linux questo richiede coreutils 8.31, glibc 2.28 e kernel versione 4.11 o successive.

Lo standard POSIX definisce solo tre distinti timestamp da memorizzare per ciascun file:l'ora dell'ultimo accesso ai dati, l'ora dell'ultima modifica dei dati e l'ora dell'ultima modifica dello stato del file.

I moderni filesystem Linux, come ext4, Btrfs, XFS (v5 e successivi) e JFS, memorizzano l'ora di creazione del file (nota anche come ora di nascita), ma usano nomi diversi per il campo in questione (crtime in ext4/XFS, otime in Btrfs e JFS). Linux fornisce l'interfaccia di chiamata di sistema statx(2) per recuperare l'ora di nascita del file per i filesystem che lo supportano dalla versione del kernel 4.11. (Quindi, anche quando il supporto per la creazione è stato aggiunto a un filesystem, alcuni kernel distribuiti non lo hanno supportato immediatamente, anche dopo aver aggiunto il supporto nominale per quella versione del filesystem, ad esempio XFS v5.)

Come hanno sottolineato Craig Sanders e Mohsen Pahlevanzadeh, stat supporta il %w e %W specificatori di formato per visualizzare l'ora di nascita del file (rispettivamente in formato leggibile e in secondi da Epoch) prima di coreutils versione 8.31. Tuttavia, coreutils stat usa statx() chiamata di sistema dove disponibile per recuperare l'ora di nascita solo dalla versione 8.31.
Prima di coreutils versione 8.31 stat ha avuto accesso all'ora di nascita tramite get_stat_birthtime() fornito da gnulib (in lib/stat-time.h ), che ottiene l'ora di nascita da st_birthtime e st_birthtimensec campi della stat struttura restituita da stat() chiamata di sistema. Mentre ad esempio i sistemi BSD (e nell'estensione OS X) forniscono st_birthtime tramite stat , Linux no. Ecco perché stat -c '%w' file output - (che indica un'ora di creazione sconosciuta) su Linux prima di coreutils 8.31 anche per filesystem che memorizzano internamente il tempo di creazione.

Come sottolinea Stephane Chazelas, alcuni filesystem, come ntfs-3g, espongono i tempi di creazione dei file tramite attributi di file estesi.


Linux
  1. Come trovare e ordinare i file in base alla data e all'ora di modifica in Linux

  2. Come trovare un file in Linux

  3. Linux:come ottenere la data di creazione di un file su un volume logico Ntfs?

  4. Come ottenere la data/ora di creazione del file in Bash/Debian?

  5. Come si eliminano i file più vecchi di una data specifica in Linux?

Come trovare la data e l'ora esatte di installazione del tuo sistema operativo Linux

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come trovare file basati su timestamp in Linux

Come trovare le righe più lunghe in un file in Linux

Come trovare la data e l'ora di installazione del sistema operativo Linux

Come impostare data e ora su Linux