Zoeken op website

DEBUGFS-opdracht - Toon tijden voor het maken van bestanden in Linux


In Unix-achtige systemen zoals Linux wordt alles als een bestand beschouwd, en alle informatie over een bestand (metadata of bestandskenmerken zoals aanmaaktijd, laatste wijziging enz.), behalve dat de daadwerkelijke bestandsinhoud wordt opgeslagen in een inode en Linux identificeert elk bestand aan de hand van het inodenummer, anders dan de voor mensen leesbare bestandsnaam.

Bovendien is het Linux stat-programma een handig hulpprogramma voor het weergeven van de bestands- of bestandssysteemstatus. Het toont informatie zoals inodenummer, tijdstip van bestandsgeboorte, laatste gegevenswijziging, laatste toegang, laatste statuswijziging en nog veel meer. We zullen beide programma's combineren om de werkelijke tijd voor het maken van bestanden in Linux te vinden.

In dit artikel leggen we uit hoe je een van de kritieke kenmerken van een bestand kunt vinden met behulp van de programma's debugfs en stat om de volgende aanmaak-/toegangsinformatie voor een bestand te verkrijgen Linux-bestandssystemen.

  • ctime: toont de wijzigingstijd van het bestand.
  • atime: toont de toegangstijd tot bestanden.
  • mtime: toont de wijzigingstijd van het bestand.
  • crtime: toont de aanmaaktijd van bestanden.

Zoek de aanmaakdatum van bestanden in Linux

1. Om de datum en tijd van het maken van een bestand te vinden “crtime” is het vinden van de inode van het bestand met behulp van de stat-opdracht tegen een bestand met de naam “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: -

Als alternatief kunt u de opdracht ls -i gebruiken voor een bestand met de naam “About-TecMint”.

ls -i About-TecMint
 
14420015 About-TecMint

Uit de uitvoer van de bovenstaande opdrachten blijkt dat het inodenummer van het bestand 14420015 is. Noteer dit unieke inodenummer, aangezien we dit inodenummer in de volgende stappen zullen gebruiken.

2. Nu moeten we het rootbestandssysteem vinden waarin ons bestand zich bevindt. Voer eenvoudigweg het volgende df -h commando uit om het rootbestandssysteem te identificeren.

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

Uit de bovenstaande uitvoer blijkt dat het bestandssysteem voor de rootpartitie /dev/sda10 is (noteer dit bestandssysteem). Op uw systeem zal dit anders zijn.

3. Gebruik vervolgens de opdracht debugfs om de aanmaaktijd te vinden van het bestand met de naam “About-TecMint”, met de - R vlag die debugfs instrueert om de enkele externe opdracht uit te voeren die is gespecificeerd met inodenummer 14420015 (in dit geval stat) en vervolgens af te sluiten.

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)

Uit de bovenstaande uitvoer blijkt dat het bestand “About-TecMint” is gemaakt op ma 1 augustus 10:26:36 2016 zoals geleverd door crtime >. Je ziet ook “ctime“, “atime” en “mtime” van je bestand.