Mokėjimo būdai Abuse

Kaip peržiūrėti failo sukūrimo datą "Linux

22.04.2022, 18:05

"Linux" sistemoje failo savybės failų tvarkyklėje rodo tik informaciją apie paskutinės prieigos prie failo datą ir pakeitimo datą. Tačiau sukūrimo data nerodoma. Kartais į ją reikia pažvelgti, pavyzdžiui, norint sužinoti, kada įrašomas žurnalas. Šioje instrukcijoje papasakosime, kaip pamatyti, kokie duomenys saugomi "Linux" failų sistemose, ir paaiškinsime, kaip sužinoti "Linux" failo sukūrimo datą. Iš karto paminėsime du patogius būdus, kurių kiekvienas turi savo ypatumų.

Failo sukūrimo data

POSIX standarte nurodyti tik 3 laiko žymų, kurias turi saugoti failų sistema, tipai:

  • atime - paskutinės prieigos prie failo laikas.
  • mtime - paskutinio turinio pakeitimo laikas.
  • ctime - paskutinio prieigos teisių arba savininko pakeitimo laikas.

Todėl senose failų sistemose dažnai neįmanoma pamatyti informacijos apie failo sukūrimo datą. Tačiau šiuolaikinėse failų sistemose (ext4, zfs, XFS ir t. t.) ji jau saugoma.

Duomenys apie sukūrimo datą įrašomi specialiame lauke:

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

Šią informaciją galima peržiūrėti dviem būdais: stat ir debugfs. Tačiau pirmasis metodas tinka ne visų "Linux" distributyvų naudotojams. Antrasis metodas yra universalus, tačiau juo naudotis ne taip paprasta. Panagrinėkime kiekvieną iš jų atskirai.

Stat naudojimas

Naudingoji programa stat rodo išsamią informaciją apie failą. Be kita ko, ji rodo "Linux" failo sukūrimo datą. Norint ją paleisti terminale, tereikia nurodyti kelią iki failo. Pavyzdžiui, peržiūrėkime informaciją apie paveikslėlį pic_1.jpeg, saugomą kataloge /home/root-user/Pictures:

$ stat /home/root-user/Pictures/pic_1.jpeg

Reikiama informacija įrašoma stulpelyje Created (Sukurta). O naudodami parinktį -c galite nustatyti tam tikras išvedamos informacijos formatavimo taisykles, pavyzdžiui, palikti tik reikiamą stulpelį:

$ stat -c '%w' /home/root-user/Pictures/pic_1.jpeg

Kaip peržiūrėti failo sukūrimo datą

Tačiau yra vienas nedidelis sunkumas. Kai kuriose "Linux" distribucijose šis laukas bus tuščias, kai bus naudojama stat programa.

Kaip peržiūrėti failo sukūrimo datą

Pagrindinė priežastis yra ta, kad išvestis rodoma statx(2). Šis apvalkalas buvo įtrauktas į glibc biblioteką versijoje 2.28. Tai reiškia, kad šio apvalkalo palaikymas atsirado pagrindinių sistemos įrankių rinkinyje GNU coreutils 8.31. Norėdami patikrinti versiją, paleiskite šią komandą:

$ stat --version

Kaip peržiūrėti failo sukūrimo datą

Todėl stat galės išvesti failų kūrimo duomenis tik tuo atveju, jei bus pirmiau aprašytos konkrečios sąlygos. Pavyzdžiui, Ubuntu 21.10 distribucijoje viskas veikia be jokių problemų, tačiau Ubuntu 20.04 distribucijoje laukas bus tuščias.

DebugFS naudojimas

DebugFS įrankis neturi jokių versijos apribojimų. Ji visada veiks. Tačiau jo naudojimo procedūra yra šiek tiek sudėtingesnė. Taip yra todėl, kad, norėdami peržiūrėti failo sukūrimo datą per DebugFS, turite žinoti jo inodo numerį ir failų sistemą. Norėdami sužinoti inodą, naudokite komandą ls su parinktimi -i, nurodydami kelią iki failo:

$ ls -i /home/root-user/scripts/main_script.txt

Kaip peržiūrėti failo sukūrimo datą

Norint peržiūrėti failų sistemą, pravers komanda df:

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

Kaip peržiūrėti failo sukūrimo datą

Dabar turite visus reikiamus duomenis ir galite pereiti prie debugfs įrankio. Jai reikia perduoti parinktį -R, nurodyti inodo numerį ir failų sistemos pavadinimą:

$ sudo debugfs -R 'stat <28>' /dev/sda5

Kaip peržiūrėti failo sukūrimo datą

Po to terminale galėsite rasti lauką, kuriame saugoma sukūrimo data. Mūsų atveju tai yra crtime.

Tuo instrukcijos baigtos.