Ricerca nel sito web

Comando DEBUGFS: mostra i tempi di creazione dei file in Linux


Nei sistemi simili a Unix come Linux, tutto è considerato un file e tutte le informazioni su un file (metadati o attributi del file come ora di creazione, ultima modifica ecc.), tranne il contenuto effettivo del file, sono archiviate in un inode e Linux identifica ogni singolo file tramite il suo numero di inode diverso dal nome file leggibile dall'uomo.

Inoltre, il programma Linux stat è un'utilità utile per visualizzare lo stato del file o del file system. Mostra informazioni come numero di inode, ora di nascita del file, ultima modifica dei dati, ultimo accesso, ultimo cambiamento di stato e molto altro. Combineremo entrambi i programmi per trovare il tempo effettivo di creazione dei file in Linux.

In questo articolo spiegheremo come trovare uno degli attributi critici di un file utilizzando i programmi debugfs e stat per ottenere le seguenti informazioni di creazione/accesso per un file in Filesystem Linux.

  • ctime: mostra l'ora di modifica del file.
  • atime: mostra l'ora di accesso al file.
  • mtime: mostra l'ora di modifica del file.
  • crtime: mostra l'ora di creazione del file.

Trova la data di creazione del file in Linux

1. Per trovare la data e l'ora di creazione del file, “crtime” consiste nel trovare l'inode del file utilizzando il comando stat su un file chiamato “About-TecMint ”.

stat About-TecMint 

  File: 'About-TecMint'
  Size: 260       	Blocks: 8          IO Block: 4096   regular file
Device: 80ah/2058d	Inode: 14420015    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/ tecmint)   Gid: ( 1000/ tecmint)
Access: 2017-02-23 14:15:20.263337740 +0530
Modify: 2015-10-22 15:08:25.236299000 +0530
Change: 2016-08-01 10:26:36.603280013 +0530
 Birth: -

In alternativa, puoi utilizzare il comando ls -i su un file chiamato "About-TecMint".

ls -i About-TecMint
 
14420015 About-TecMint

Dall'output dei comandi precedenti, il numero di inode del file è 14420015. Prendi nota di questo numero di inode univoco poiché lo utilizzeremo nei passaggi seguenti.

2. Ora dobbiamo trovare il filesystem root in cui risiede il nostro file, esegui semplicemente il seguente comando df -h per identificare il filesystem root.

df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           788M  9.7M  779M   2% /run
/dev/sda10      324G  277G   31G  91% /
tmpfs           3.9G  192M  3.7G   5% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/loop3       87M   87M     0 100% /snap/core/4486
/dev/loop0       87M   87M     0 100% /snap/core/4407
/dev/loop1       82M   82M     0 100% /snap/core/4206
/dev/loop2      181M  181M     0 100% /snap/vlc/190
/dev/loop4      189M  189M     0 100% /snap/vlc/158
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           788M   40K  788M   1% /run/user/1000

Dall'output sopra, il filesystem per la partizione root è /dev/sda10 (prendi nota di questo filesystem). Questo sarà diverso sul tuo sistema.

3. Successivamente, utilizza il comando debugfs per trovare l'ora di creazione del file chiamato “About-TecMint”, con il - R flag che indica a debugfs di eseguire il singolo comando esterno specificato con il numero di inode 14420015 (stat in questo caso) e quindi di uscire.

sudo debugfs -R 'stat <14420015>' /dev/sda10

Inode: 14420015   Type: regular    Mode:  0777   Flags: 0x80000
Generation: 2130000141    Version: 0x00000000:00000001
User:  1000   Group:  1000   Size: 260
File ACL: 0    Directory ACL: 0
Links: 1   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x579ed684:8fd54a34 -- Mon Aug  1 10:26:36 2016
 atime: 0x58aea120:3ec8dc30 -- Thu Feb 23 14:15:20 2017
 mtime: 0x5628ae91:38568be0 -- Thu Oct 22 15:08:25 2015
crtime: 0x579ed684:8fd54a34 -- Mon Aug  1 10:26:36 2016
Size of extra inode fields: 32
EXTENTS:
(0):57750808
(END)

Dall'output sopra riportato risulta chiaro che il file “About-TecMint” è stato creato il lunedì 1 agosto 10:26:36 2016 come fornito da crtime . Vedrai anche "ctime", "atime" e "mtime" del tuo file.