Pe un sistem Linux, proprietățile unui fișier din managerul de fișiere afișează doar informații despre data ultimei accesări a fișierului și data modificării. Însă data creării nu este afișată acolo. Uneori trebuie să vă uitați la ea, de exemplu, pentru a afla când este înregistrat jurnalul. În această instrucțiune vă vom spune cum să vedeți ce date sunt stocate în sistemele de fișiere Linux și vă vom explica cum să aflați data de creare a unui fișier Linux. Două modalități convenabile vor fi menționate imediat, fiecare cu propriile sale particularități.
Standardul POSIX specifică doar 3 tipuri de timestamps pe care un sistem de fișiere trebuie să le stocheze:
Acesta este motivul pentru care în sistemele de fișiere vechi este adesea imposibil să se vadă informații despre data creării fișierului. Dar în sistemele de fișiere moderne (ext4, zfs, XFS și așa mai departe) aceasta este deja stocată.
Datele despre data creării sunt înregistrate într-un câmp special:
Există două metode de a vizualiza aceste informații: stat și debugfs. Cu toate acestea, prima metodă nu este potrivită pentru utilizatorii fiecărei distribuții Linux. A doua metodă este universală, dar nu atât de ușor de utilizat. Să ne ocupăm de fiecare dintre ele separat.
Utilitarul Stat afișează informații detaliate despre un fișier. Printre altele, acesta afișează data la care a fost creat fișierul Linux. Pentru a-l rula în terminal, trebuie doar să specificați calea către fișier. De exemplu, să ne uităm la informațiile despre imaginea pic_1.jpeg
stocată în catalogul /home/root-user/Pictures
:
$ stat /home/root-user/Pictures/pic_1.jpeg
Informațiile necesare sunt înregistrate în coloana Created. Iar prin utilizarea opțiunii -c puteți seta anumite reguli de formatare pentru ieșirea informațiilor, de exemplu, lăsând doar coloana necesară:
$ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg
Există însă o mică dificultate. Pe unele distribuții Linux, acest câmp va fi gol atunci când se utilizează utilitarul stat.
Principalul motiv este că ieșirea este afișată în statx(2). Shell-ul a fost adăugat la biblioteca glibc în versiunea 2.28. Adică, suportul pentru acest shell a apărut în setul GNU coreutils 8.31 de utilități de bază ale sistemului. Pentru a verifica versiunea, executați această comandă:
$ stat --version
În consecință, stat
va putea emite date privind crearea fișierelor numai dacă sunt prezente condițiile specifice descrise mai sus. De exemplu, în distribuția Ubuntu 21.10 totul funcționează fără probleme, dar în Ubuntu 20.04 câmpul va fi gol.
Utilitarul DebugFS nu are restricții de versiune. Acesta va funcționa întotdeauna. Dar procedura sa de utilizare este un pic mai complicată. Acest lucru se datorează faptului că, pentru a vizualiza data creării unui fișier prin debugfs, trebuie să cunoașteți numărul său de inode și sistemul de fișiere. Pentru a obține inode-ul, utilizați comanda ls
cu opțiunea -i
, specificând calea către fișier:
$ ls -i /home/root-user/scripts/main_script.txt
Pentru a vizualiza sistemul de fișiere, comanda df
va fi utilă:
$ df /home/root-user/scripts/main_script.txt
Acum aveți toate datele necesare și puteți trece la utilitarul debugfs. Trebuie să îi treceți opțiunea -R
, să specificați numărul inodului
și apoi numele sistemului de fișiere:
$ sudo debugfs -R 'stat <28>' /dev/sda5
După aceea, veți putea găsi în terminal câmpul în care este stocată data creării. În cazul nostru este crtime.
Acest lucru completează instrucțiunile.