Razumevanje časovnih oznak datotek Linux: mtime, ctime in atime

Razumevanje časovnih oznak datotek Linux: mtime, ctime in atime

Operacijski sistem Linux beleži tri časovne žige za vsako datoteko v vašem sistemu. Ti časovni žigi vam omogočajo, da ugotovite, kdaj je bila datoteka nazadnje posodobljena. Toda kaj vse pomenijo? In kako v teh časih ugotovite datoteko? Ali obstaja razlika pri imenikih?





Razumevanje atime, ctime in mtime lahko odgovori na vsa ta vprašanja. To so tri časovne oznake, ki jim sledijo datotečni sistemi Unix. Če boste kdaj morali izvedeti podrobnosti o tem, kaj se je spremenilo in kdaj, preberite dalje.





Kaj so tri časovne oznake Unix?

Vsaka datoteka ima s seboj povezane tri časovne žige. Linux jih shrani v Unix časovna oblika ki meri sekunde od epohe. Trije časovni žigi se običajno imenujejo atime, ctime in mtime.





The mtime je najpogostejši in pogosto najbolj uporaben. To pomeni spremenjen čas . To je čas, ko je bila vsebina datoteke nazadnje zapisana na disk.

Nekoliko drugačna je ctime kar pomeni čas menjave . Ta časovni žig spremlja spremembe metapodatkov, kot so lastništvo in dovoljenja. Vključuje preimenovanje datoteke - vsaj v tipičnih sodobnih operacijskih sistemih Linux. Posodobi pa se tudi, ko se vsebina datoteke spremeni, zato je vedno tako posodobljena kot mtime.



Tretji časovni žig je Čas , ki shranjuje zadnji dostop do datoteke.

stikalo nintendo se ne bo povezalo z internetom

Kako se časovne oznake uporabljajo za imenike

Imenik Linuxa je v bistvu seznam datotek v tem imeniku. Tako bo ustvarjanje datoteke v imeniku posodobilo mtime tega imenika. Seznam datotek v imeniku z uporabo ls ukaz na primer posodobi svoj čas dostopa. Tako kot pri datoteki tudi spreminjanje dovoljenj ali imena imenika posodobi ctime.





Kaj pa čas ustvarjanja?

Morda vas bo presenetilo, da Linux preprosto ne spremlja časa ustvarjanja. Sprva lahko tako domnevate ctime pomeni čas ustvarjanja. Prav tako bi lahko menili, da je to zelo koristna stvar, ki jo lahko ugotovite.

Mnoge aplikacije shranijo datoteke tako, da jih vsakič ustvarijo iz nič. Zaradi tega bi bil čas ustvarjanja zavajajoč.





Kako si ogledate različne časovne oznake

Najlažji način za pridobivanje informacij o časovnem žigu je the ls ukaz . Privzeta dolga oblika prikazuje podrobnosti za mtime:

$ 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

Namesto tega lahko prikažete čas s pomočjo -u zastava:

$ 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

Zadnja vrstica potrjuje, da se mtime te datoteke razlikuje od časa. Na koncu uporabite -c zastavica za ogled 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

Tokrat potrjujemo, da so vsi trije časi ločeni in pravilni: spremenili smo, nato dostopali do datoteke in jo spremenili v tem vrstnem redu.

Alternativa ls je država ukaz. Ta ukaz prikazuje podrobnosti na nizki ravni iz inode datoteke. Olajša preverjanje vseh treh krat hkrati. Odpravlja tudi problem neintuitivnega -u zastavo. Tu je primer izhoda za isto datoteko:

$ 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

Kako posodobiti časovne oznake

The dotik ukaz spremeni čas spreminjanja in dostop do datoteke. To je tudi priročen način za ustvarjanje prazne datoteke, kar bo storilo, če datoteka že ne obstaja:

oglasi na domačem zaslonu Android
touch tmp

Privzeto nastavi mtime in atime na trenutni čas. Z. Lahko nastavite drugačen čas -t zastava:

touch -t 202103061200 tmp

Prav tako lahko nastavite samo mtime ali atime z -m in -za zastave:

touch -t 202103061300 -m tmp

Upoštevajte, da se ctime vedno posodobi, ko nastavimo atime ali mtime.

Kako najti datoteke na podlagi časovnih oznak

The najti ukaz je drugo orodje, ki deluje na časovne žige. Lahko filtrira datoteke glede na atime, ctime ali mtime. Na primer:

find . -amin 15

bo našel datoteke, ki so bile dostopne pred natanko 15 minutami, medtem ko:

find . -mtime -2

bo našel datoteke, spremenjene v zadnjih dveh dneh.

Linux trikrat sledi vsaki datoteki

Najpogosteje omenjeni časovni žig datoteke je mtime. To je na primer datum in čas, ki ju prikazuje seznam datotek. Druga dva časovna žiga pa sta lahko tudi koristna, če razumete, na kaj se nanašata. Vedno se spomnite, da ctime predstavlja spremeniti čas, ne ustvarjanje čas.

Ukazi, kot sta touch in stat, so uporabni člani zbirke orodij ukazne vrstice Linuxa. Ti ukazi bodo izboljšali vaš potek dela v sistemu Linux, saj vam bodo omogočili hitro ustvarjanje novih datotek.

Deliti Deliti Cvrkutati E-naslov Referenčni geslo za ukaze Linuxa

Ta preprosta lista goljufij vam bo pomagala, da se boste v hipu udobno znašli v terminalu ukazne vrstice Linux.

kako spremeniti ime ps4
Preberite Naprej Sorodne teme
  • Linux
  • Upravljanje datotek
  • Linux Distro
O avtorju Bobby Jack(58 objavljenih člankov)

Bobby je tehnološki navdušenec, ki je več kot dve desetletji delal kot razvijalec programske opreme. Navdušen je nad igranjem iger, dela kot urednik recenzij v reviji Switch Player in je potopljen v vse vidike spletnega založništva in spletnega razvoja.

Več od Bobbyja Jacka

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite