DEBUGFS Command - Vis filoprettelsestider i Linux


I Unix-lignende systemer som Linux betragtes alt som en fil, og al information om en fil (metadata eller filattributter såsom oprettelsestid, sidste ændring osv.), Undtagen det faktiske filindhold er gemt i en inode og Linux identificerer hver eneste fil med dens inode nummer andet end det menneskelige læsbare filnavn.

Derudover den sidste datamodifikation, sidste adgang, sidste statusændring og meget mere. Vi kombinerer begge programmer for at finde den faktiske filoprettelsestid i Linux.

I denne artikel vil vi forklare, hvordan man finder en af de kritiske attributter for en fil ved hjælp af debugfs og stat-programmer til at opnå følgende oprettelses-/adgangsoplysninger til en fil i Linux-filsystemer.

  • ctime: Viser filskifttid.
  • atime: Viser filadgangstid.
  • mtime: Viser filændringstid.
  • crtime: Viser tid til oprettelse af filer.

Find dato for oprettelse af filer i Linux

1. At finde en dato og klokkeslæt for filoprettelse “crtime” er at finde filens inode ved hjælp af stat-kommandoen mod en fil kaldet “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: -

Alternativt kan du bruge kommandoen ls -i mod en fil kaldet “About-TecMint”.

$ ls -i About-TecMint
 
14420015 About-TecMint

Fra output fra ovenstående kommandoer er filinode nummeret 14420015. Skriv venligst dette unikke inode nummer, da vi bruger dette inode nummer i de følgende trin.

2. Nu er vi nødt til at finde det rodfilsystem, som vores fil ligger i, skal du blot udstede følgende df -h-kommando for at identificere rodfilsystemet.

$ 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

Fra ovenstående output er filsystemet til rodpartitionen /dev/sda10 (noter dette filsystem). Dette vil være anderledes på dit system.

3. Brug derefter kommandoen debugfs til at finde oprettelsestiden for filen kaldet “About-TecMint” med flagget -R , som instruerer debugfs om at udføre den enkelt eksterne kommando, der er specificeret med inode nummer 14420015 ( stat i dette tilfælde) og afslut derefter.

$ 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)

Fra ovenstående output rydder det, at filen "About-TecMint" blev oprettet den Man Aug 1 10:26:36 2016 som leveret af crtime. Du vil også se "ctime", "atime" og "mtime" i din fil.