Metodi di pagamento Abuse

Come visualizzare la data di creazione dei file in Linux

22.04.2022, 18:05

Su un sistema Linux, le proprietà di un file nel file manager mostrano solo informazioni sulla data dell'ultimo accesso al file e sulla data di modifica. Ma la data di creazione non viene mostrata. A volte è necessario guardarla, ad esempio per scoprire quando viene registrato il registro. In questa istruzione vi diremo come vedere quali dati sono memorizzati nei file system di Linux e vi spiegheremo come scoprire la data di creazione di un file Linux. Verranno citati subito due metodi convenienti, ognuno con le proprie peculiarità.

Data di creazione del file

Lo standard POSIX specifica solo 3 tipi di timestamp che un file system deve memorizzare:

  • atime - l'ora dell'ultimo accesso al file.
  • mtime - ora dell'ultima modifica del contenuto.
  • ctime - ora dell'ultima modifica dei diritti di accesso o del proprietario.

Per questo motivo, nei vecchi file system è spesso impossibile vedere informazioni sulla data di creazione del file. Ma nei file system moderni (ext4, zfs, XFS e così via) è già memorizzata.

I dati sulla data di creazione sono registrati in un campo speciale:

  • Ext4 - crtime
  • ZFS - ora solare
  • XFS - crtime
  • Btrfs - otime
  • JFS - di_otime

Esistono due metodi per visualizzare queste informazioni: stat e debugfs. Tuttavia, il primo metodo non è adatto agli utenti di tutte le distribuzioni Linux. Il secondo metodo è universale, ma non così facile da usare. Vediamo di trattare ciascuno di essi separatamente.

Uso di Stat

L'utilità stat visualizza informazioni dettagliate su un file. Tra le altre cose, mostra la data di creazione del file Linux. Per eseguirla nel terminale, è sufficiente specificare il percorso del file. Ad esempio, esaminiamo le informazioni sull'immagine pic_1.jpeg memorizzata nel catalogo /home/root-user/Pictures:

$ stat /home/root-user/Pictures/pic_1.jpeg

Le informazioni necessarie sono registrate nella colonna Creato. E utilizzando l'opzione -c è possibile impostare alcune regole di formattazione per l'output delle informazioni, ad esempio lasciando solo la colonna necessaria:

$ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg

Come visualizzare la data di creazione dei file in Linux

Ma c'è una piccola difficoltà. Su alcune distribuzioni Linux questo campo sarà vuoto quando si utilizza l'utilità stat.

Come visualizzare la data di creazione dei file in Linux

Il motivo principale è che l'output viene visualizzato in statx(2). La shell è stata aggiunta alla libreria glibc nella versione 2.28. Il supporto per questa shell è apparso nell'insieme di utilità di sistema di base GNU coreutils 8.31. Per verificare la versione, eseguire questo comando:

$ stat --version

Come visualizzare la data di creazione dei file in Linux

Di conseguenza, stat sarà in grado di fornire dati sulla creazione dei file solo se sono presenti le condizioni specifiche descritte sopra. Ad esempio, nella distribuzione Ubuntu 21.10 tutto funziona senza problemi, ma in Ubuntu 20.04 il campo sarà vuoto.

Utilizzo di DebugFS

L'utilità DebugFS non ha restrizioni di versione. Funzionerà sempre. Ma la procedura di utilizzo è un po' più complicata. Infatti, per visualizzare la data di creazione di un file tramite debugfs, è necessario conoscere il numero di inode e il file system. Per ottenere l'inode, utilizzare il comando ls con l'opzione -i, specificando il percorso del file:

$ ls -i /home/root-user/scripts/main_script.txt

Come visualizzare la data di creazione dei file in Linux

Per visualizzare il file system, è utile il comando df:

$ df /home/root-user/scripts/main_script.txt

Come visualizzare la data di creazione dei file in Linux

Ora avete tutti i dati necessari e potete passare all'utilità debugfs. È necessario passare l'opzione -R, specificare il numero di inode e il nome del file system:

$ sudo debugfs -R 'stat <28>' /dev/sda5

Come visualizzare la data di creazione dei file in Linux

Dopodiché, sarà possibile trovare nel terminale il campo in cui è memorizzata la data di creazione. Nel nostro caso è crtime.

Questo completa le istruzioni.