„Linux“ failo laiko žymų supratimas: „mtime“, „ctime“ ir „atime“

„Linux“ failo laiko žymų supratimas: „mtime“, „ctime“ ir „atime“

„Linux“ operacinė sistema stebi tris kiekvieno jūsų failo laiko žymes. Šios laiko žymos leidžia sužinoti, kada failas buvo paskutinį kartą atnaujintas. Bet ką jie visi reiškia? Ir kaip sužinoti šiuos failo laikus? Ar yra skirtumas, kalbant apie katalogus?





Atime, ctime ir mtime supratimas gali atsakyti į visus šiuos klausimus. Tai trys laiko žymos, kurias seka „Unix“ failų sistemos. Jei jums kada nors reikia sužinoti išsamią informaciją apie tai, kas ir kada pasikeitė, skaitykite toliau.





Kas yra trys „Unix“ laiko žymos?

Kiekvienas failas turi tris laiko žymes. „Linux“ juos saugo „Unix“ laiko formatas kuris matuoja sekundes nuo epochos. Trys laiko žymos paprastai vadinamos atime, ctime ir mtime.



The mtime yra labiausiai paplitęs ir dažnai naudingiausias. Tai reiškia modifikuotas laikas . Tai laikas, kai failo turinys paskutinį kartą buvo įrašytas į diską.

Šiek tiek kitoks yra ctime kuris reiškia pakeisti laiką . Ši laiko žyma stebi metaduomenų pakeitimus, pvz., Nuosavybės teisę ir leidimus. Tai apima failo pervadinimą bent jau tipiškose šiuolaikinėse „Linux“ OS. Tačiau jis taip pat atnaujinamas, kai pasikeičia failo turinys, todėl jis visada yra toks pat modernus kaip ir „mtime“.



Trečioji laiko žyma yra laikas , kuris saugo paskutinį kartą, kai kas nors pasiekė failą.

„Wi -Fi“ prijungtas, bet nėra interneto „Windows 10“

Kaip laiko žymos taikomos katalogams

„Linux“ katalogas iš esmės yra to katalogo failų sąrašas. Taigi, sukūrus failą kataloge, bus atnaujintas šio katalogo laikas. Failų sąrašas kataloge, naudojant ls komanda, pavyzdžiui, atnaujina prieigos laiką. Ir, kaip ir faile, pakeitus katalogo leidimus ar pavadinimą, atnaujinamas jo laikas.





Ką apie kūrimo laiką?

Galite nustebinti sužinoję, kad „Linux“ tiesiog nestebi kūrimo laiko. Iš pradžių galite manyti, kad ctime reiškia kūrimo laiką. Lygiai taip pat galite galvoti apie tai kaip apie labai naudingą dalyką, kurį galėsite sužinoti.

Daugelis programų išsaugo failus, kiekvieną kartą sukurdamos juos nuo nulio. Dėl to kūrimo laiko naudojimas būtų klaidinantis.





Kaip peržiūrėti skirtingus laiko žymes

Paprasčiausias būdas gauti laiko žymos informaciją yra į ls komandą . Numatytasis ilgas formatas rodo išsamią „mtime“ informaciją:

$ date
Sat Mar 6 16:57:01 GMT 2021
$ echo 'hello, world' > tmp
$ ls -l tmp.txt
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Vietoj to galite parodyti laiką naudodami -u vėliava:

$ date
Sat Mar 6 16:59:33 GMT 2021
$ cat tmp
hello, world
$ ls -lu tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp
$ ls -l tmp
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Paskutinė eilutė patvirtina, kad šio failo mtime skiriasi nuo atime. Galiausiai naudokite -c vėliava, skirta peržiūrėti „ctime“:

$ date
Sat Mar 6 17:02:34 GMT 2021
$ mv tmp tmp2
$ ls -lc tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 17:02 tmp2
$ ls -l tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp2
$ ls -lu tmp2
-rw-r--r-- 1 ubuntu ubuntu 13 2021-03-06 16:59 tmp2

Šį kartą patvirtiname, kad visi trys laikai yra skirtingi ir teisingi: pakeitėme, paskui pasiekėme, tada pakeitėme failą tokia tvarka.

Alternatyva ls yra būsena komandą. Ši komanda rodo žemo lygio informaciją iš failo inodo. Taip lengviau patikrinti visus tris kartus vienu metu. Tai taip pat apeina neintuityvo problemą -u vėliava. Štai to paties failo išvesties pavyzdys:

$ stat tmp2
File: `tmp2'
Size: 13 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 327688 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2021-03-06 16:59:45.000000000 +0000
Modify: 2021-03-06 16:57:59.000000000 +0000
Change: 2021-03-06 17:02:43.000000000 +0000

Kaip atnaujinti laiko žymes

The liesti komanda pakeičia failo modifikavimo ir prieigos laiką. Tai taip pat patogus būdas sukurti tuščią failą, kurį jis padarys, jei failo dar nėra:

kaip pašalinti „Windows 10“ naujinius
touch tmp

Pagal numatytuosius nustatymus jis nustatys mtime ir atime dabartinį laiką. Galite nustatyti kitą laiką naudodami -t vėliava:

touch -t 202103061200 tmp

Taip pat galite nustatyti tik mtime arba atime naudodami -m ir atitinkamai vėliavos:

touch -t 202103061300 -m tmp

Atminkite, kad „ctime“ visada atnaujinamas, kai nustatome „atime“ arba „mtime“.

Kaip rasti failus pagal laiko žymes

The rasti komanda yra dar vienas įrankis, veikiantis laiko žymes. Jis gali filtruoti failus pagal atime, ctime arba mtime. Pavyzdžiui:

find . -amin 15

ras failus, kurie buvo pasiekti tiksliai prieš 15 minučių, o:

find . -mtime -2

ras failus, pakeistus per pastarąsias dvi dienas.

„Linux“ tris kartus seka kiekvieną failą

Dažniausiai nurodoma failo laiko žyma yra „mtime“. Pavyzdžiui, tai yra data ir laikas, kurį rodo failų sąrašas. Tačiau kitos dvi laiko žymos taip pat gali būti naudingos, jei suprantate, ką jos reiškia. Visų pirma, visada atminkite, kad ctime reiškia keistis laikas, ne kūryba laikas.

Tokios komandos kaip „touch“ ir „stat“ yra naudingos „Linux“ komandinės eilutės įrankių grupės dalys. Šios komandos pagerins jūsų „Linux“ darbo eigą, leisdamos greitai sukurti naujus failus.

Dalintis Dalintis „Tweet“ Paštu „Linux“ komandų informacinis apgaulės lapas

Šis paprastas apgaulės lapas padės jums greitai prisitaikyti prie „Linux“ komandinės eilutės terminalo.

kaip gauti savo „snapchat“ filtrus
Skaityti toliau Susijusios temos
  • Linux
  • Failų valdymas
  • „Linux Distro“
Apie autorių Bobis Džekas(Paskelbti 58 straipsniai)

Bobby yra technologijų entuziastas, kuris beveik du dešimtmečius dirbo programinės įrangos kūrėju. Jis aistringai žaidžia, dirba „Switch Player Magazine“ apžvalgų redaktoriumi ir yra pasinėręs į visus internetinės publikacijos ir žiniatinklio kūrimo aspektus.

Daugiau iš Bobby Jack

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia