Maksājuma metodes Abuse

Kā Linux operētājsistēmā skatīt faila izveides datumu

22.04.2022, 18:05

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.

Faila izveides datums

POSIX standarts nosaka tikai 3 laika zīmju veidus, kas glabājami failu sistēmā:

  • atime - pēdējās piekļuves laiks datnei.
  • mtime - pēdējās satura modifikācijas laiks.
  • ctime - piekļuves tiesību vai īpašnieka pēdējās modifikācijas laiks.

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ā:

  • Ext4 - crtime
  • ZFS - crtime
  • XFS - crtime
  • Btrfs - otime
  • JFS - di_otime

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.

Stat izmantošana

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

Kā Linux operētājsistēmā skatīt faila izveides datumu

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.

Kā Linux operētājsistēmā skatīt faila izveides datumu

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

Kā Linux operētājsistēmā skatīt faila izveides datumu

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 izmantošana

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

Kā Linux operētājsistēmā skatīt faila izveides datumu

Lai apskatītu failu sistēmu, noderēs komanda df:

$ df /home/root-user/scripts/main_script.txt

Kā Linux operētājsistēmā skatīt faila izveides datumu

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

Kā Linux operētājsistēmā skatīt faila izveides datumu

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.