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 ugotoviti te čase za datoteko? Ali obstajajo razlike pri imenikih?
Razumevanje atime, ctime in mtime lahko odgovori na vsa ta vprašanja. To so trije časovni žigi, ki jim sledijo datotečni sistemi Unix. Če boste kdaj morali izvedeti podrobnosti o tem, kaj se je spremenilo in kdaj, preberite.
Katere so tri časovne znamke Unix?
Vsaka datoteka ima tri časovne žige. Linux jih shrani v Oblika časa Unix 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 spremenjeni čas. To je čas, ko je bila vsebina datoteke nazadnje zapisana na disk.
Nekoliko drugačen je ctime kar pomeni spremenite čas. Ta časovni žig sledi spremembam metapodatkov, kot so lastništvo in dovoljenja. Vključuje preimenovanje datoteke - vsaj v tipičnih sodobnih operacijskih sistemih Linux. Posodablja pa se tudi, ko se spremeni vsebina datoteke, zato je vedno tako posodobljena kot mtime.
Tretji časovni žig je Čas, ki shranjuje zadnji dostop do datoteke.
Kako se časovni žigi nanašajo na imenike
Imenik Linuxa je v bistvu seznam datotek v tem imeniku. Ustvarjanje datoteke v imeniku bo torej posodobilo mtime tega imenika. Naštevanje datotek v imeniku z uporabo ls ukaz na primer posodobi svoj čas dostopa. Tako kot pri datoteki tudi spreminjanje dovoljenj ali imena imenika posodablja njegov ctime.
Kaj pa čas ustvarjanja?
Morda vas bo presenetilo, ko boste izvedeli, da Linux preprosto ne beleži časa ustvarjanja. To lahko sprva domnevate ctime pomeni čas ustvarjanja. Prav tako lahko o tem razmišljate kot o zelo koristni stvari, ki jo lahko ugotovite.
Številne aplikacije shranijo datoteke tako, da jih vsakič ustvarijo iz nič. To bi uporabo ustvarjalnega časa zavajalo.
Kako si ogledati različne časovne žige
Najpreprostejši način za pridobivanje informacij o časovnem žigu je ls ukaz. Privzeta dolga oblika prikazuje podrobnosti za mtime:
$ datum
6. mar. 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 atime prikažete s pomočjo -u zastava:
$ datum
Sobota, 6. mar. 16:59:33 GMT 2021
$ mačka tmp
Pozdravljen, svet
$ 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 atime. Na koncu uporabite -c zastava za ogled ctime:
$ datum
Sobota, 6. mar. 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 različni in pravilni: spremenili smo, nato dostopali in nato spremenili datoteko v tem vrstnem redu.
Alternativa ls je stat ukaz. Ta ukaz prikaže podrobnosti na nizki ravni iz inode datoteke. Olajša preverjanje vseh treh krat hkrati. Obide tudi problem neintuitivnega -u zastavo. Tu je primer izhoda za isto datoteko:
$ stat tmp2
Datoteka: `tmp2 '
Velikost: 13 blokov: 8 IO blok: 4096 navadna datoteka
Naprava: 801h / 2049d Inode: 327688 Povezave: 1
Dostop: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Dostop: 2021-03-06 16: 59: 45.000000000 +0000
Spremeni: 2021-03-06 16: 57: 59.000000000 +0000
Sprememba: 2021-03-06 17: 02: 43.000000000 +0000
Kako posodobiti časovne žige
The dotik ukaz spremeni čas spreminjanja in dostopa do datoteke. Prav tako je priročen način ustvarjanja prazne datoteke, kar bo storil, če datoteka še ne obstaja:
dotaknite se tmp
Privzeto nastavi mtime in atime na trenutni čas. S tipko lahko nastavite drugačen čas -t zastava:
dotik -t 202103061200 tmp
S tipko lahko nastavite tudi samo mtime ali atime -m in -a zastavice:
dotik -t 202103061300 -m tmp
Upoštevajte, da se ctime vedno posodobi, ko nastavimo čas ali mtime.
Kako najti datoteke na podlagi časovnih žigov
The najti ukaz je drugo orodje, ki deluje na časovne žige. Datoteke lahko filtrira glede na atime, ctime ali mtime. Na primer:
najti. -amin 15
bo našel datoteke, dostopne pred natanko 15 minutami, medtem ko:
najti. -mtime -2
bo našel datoteke, spremenjene v zadnjih dveh dneh.
Linux trikrat sledi vsaki datoteki
Najpogostejši referenčni časovni žig datoteke je mtime. To je na primer datum in čas, ki ju prikazuje seznam datotek. Lahko pa sta uporabna tudi druga dva časovna žiga, pod pogojem, da razumete, na kaj se nanašata. Zlasti ne pozabite, da ctime predstavlja spremembe čas, ne ustvarjanje čas.
Ukazi, kot sta touch in stat, so uporabni člani orodjarne ukazne vrstice Linux. Ti ukazi bodo izboljšali vaš potek dela v Linuxu, saj vam bodo omogočili hitro ustvarjanje novih datotek.
Ta preprosta goljufiva lista vam bo v kratkem pomagala, da se privoščite terminalu ukazne vrstice Linux.
- Linux
- Upravljanje datotek
- Linux Distro

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 mnenj pri reviji Switch Player in je poglobljen v vse vidike spletnega založništva in spletnega razvoja.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak…!
Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.