Linux sistēmā faila īpašībās failu pārvaldniekā ir redzama tikai informācija par pēdējās piekļuves datumu un modificēšanas datumu. Taču izveides datums nav redzams. Dažreiz tas ir jāskatās, piemēram, lai uzzinātu, kad tiek ierakstīts žurnāls. Šajā instrukcijā mēs pastāstīsim, kā apskatīt, kādi dati tiek glabāti Linux failu sistēmās, un paskaidrosim, kā noskaidrot Linux faila izveides datumu. Uzreiz tiks minēti divi ērti veidi, katram no tiem ir savas īpatnības.
POSIX standarts nosaka tikai 3 laika zīmju veidus, kas glabājami failu sistēmā:
Tāpēc vecajās failu sistēmās bieži vien nav iespējams redzēt informāciju par faila izveides datumu. Bet mūsdienu failu sistēmās (ext4, zfs, XFS u.c.) tā jau ir saglabāta.
Dati par izveides datumu tiek ierakstīti īpašā laukā:
Ir divas metodes, kā apskatīt šo informāciju: stat un debugfs. Tomēr pirmā metode nav piemērota visu Linux izplatījumu lietotājiem. Otrā metode ir universāla, bet nav tik viegli lietojama. Apskatīsim katru no tām atsevišķi.
Lietderība stat parāda detalizētu informāciju par failu. Cita starpā tas parāda datumu, kad Linux fails tika izveidots. Lai to palaistu terminālī, jums tikai jānorāda ceļš līdz datnei. Piemēram, apskatīsim informāciju par attēlu pic_1.jpeg
, kas glabājas katalogā /home/root-user/Pictures
:
$ stat /home/root-user/Pictures/pic_1.jpeg
Nepieciešamā informācija ir ierakstīta ailē Created (Izveidots). Un, izmantojot opciju -c, var iestatīt noteiktus informācijas izvades formatēšanas noteikumus, piemēram, atstājot tikai vajadzīgo sleju:
$ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg
Taču ir viena neliela problēma. Dažās Linux izplatīšanās sistēmās, izmantojot stat utilītu, šis lauks būs tukšs.
Galvenais iemesls ir tas, ka izvades dati tiek parādīti statx(2). Šāds apvalks tika pievienots glibc bibliotēkai versijā 2.28. Tas nozīmē, ka atbalsts šim apvalkam parādījās GNU coreutils 8.31 sistēmas pamata utilītu komplektā. Lai pārbaudītu versiju, izpildiet šo komandu:
$ stat --version
Tādējādi stat
varēs izvadīt datņu izveides datus tikai tad, ja būs izpildīti iepriekš aprakstītie īpašie nosacījumi. Piemēram, Ubuntu 21.10 izplatījumā viss darbojas bez problēmām, bet Ubuntu 20.04 gadījumā lauks būs tukšs.
DebugFS palīgprogrammai nav versiju ierobežojumu. Tas darbosies vienmēr. Taču tā lietošanas procedūra ir nedaudz sarežģītāka. Tas ir tāpēc, ka, lai, izmantojot DebugFS, apskatītu faila izveides datumu, ir jāzina tā inoda numurs un failu sistēma. Lai iegūtu inode numuru, izmantojiet komandu ls
ar opciju -i
, norādot ceļu līdz datnei:
$ ls -i /home/root-user/scripts/main_script.txt
Lai apskatītu failu sistēmu, noderēs komanda df
:
$ df /home/root-user/scripts/main_script.txt
Tagad jums ir visi nepieciešamie dati, un jūs varat pāriet pie debugfs utilīta. Tam ir jāpievieno opcija -R
, jānorāda inoda
numurs un pēc tam failu sistēmas nosaukums:
$ sudo debugfs -R 'stat <28>' /dev/sda5
Pēc tam terminālī varēsiet atrast lauku, kurā tiek saglabāts izveides datums. Mūsu gadījumā tas ir crtime.
Ar to instrukcijas ir pabeigtas.