Linuxi operatsioonisüsteem jälgib iga teie süsteemi faili kolme ajatemplit. Need ajatemplid võimaldavad teil teada saada, millal faili viimati värskendati. Aga mida nad kõik tähendavad? Ja kuidas saate faili jaoks need ajad teada? Kas kataloogide osas on vahet?
Kõigile neile küsimustele võib vastata aja, ctime ja mtime mõistmine. Need on kolm ajatemplit, mida Unixi failisüsteemid jälgivad. Kui teil on kunagi vaja teada saada üksikasju selle kohta, mis ja millal muutus, lugege edasi.
Mis on kolm Unixi ajatemplit?
Igal failil on sellega seotud kolm ajatemplit. Linux salvestab need Unixi ajavorming mis mõõdab sekundeid ajastust. Neid kolme ajatemplit nimetatakse tavaliselt ajahetkeks, ctime'iks ja mtime'iks.
The mtime on kõige tavalisem ja sageli kõige kasulikum. See tähistab muudetud aeg. See on aeg, mil faili sisu viimati kettale kirjutati.
Pisut erinev on ctime mis tähistab muutke aega. See ajatempel jälgib metaandmete muudatusi, nagu omandiline kuuluvus ja load. See hõlmab faili ümbernimetamist - vähemalt tavalistes kaasaegsetes Linuxi operatsioonisüsteemides. Kuid seda värskendatakse ka faili sisu muutumisel, nii et see on alati sama ajakohane kui mtime.
Kolmas ajatempel on aeg, mis salvestab failile viimati juurdepääsu.
Kuidas ajatemplid kataloogidele kehtivad?
Linuxi kataloog on põhimõtteliselt selles kataloogis olevate failide loend. Nii et faili loomine kataloogis värskendab selle kataloogi mtime'i. Failide loetelu kataloogis, kasutades ls Näiteks värskendab käsk selle juurdepääsu aega. Nagu ka faili puhul, värskendab kataloogi lubade või nime muutmine selle ctime'i.
Kuidas on lood loomisaega?
See võib teid üllatada, kui saate teada, et Linux lihtsalt ei jälgi loomise aega. Esialgu võite seda eeldada ctime tähistab loomise aega. Võimalik, et võite sellest teada saada kui väga kasulikust asjast.
Paljud rakendused salvestavad faile, luues need iga kord nullist. See muudaks loomise aja kasutamise eksitavaks.
Kuidas vaadata erinevaid ajatempleid
Lihtsaim viis ajatempliteabe saamiseks on ls käsk. Pikk vaikevorming näitab mtime'i üksikasju:
$ kuupäev
Laup 6. märts 16:57:01 GMT 2021
$ echo "tere, maailm"> tmp
$ ls -l tmp.txt
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp
Selle asemel saate atime kuvada, kasutades -u lipp:
$ kuupäev
Laup 6. märts 16:59:33 GMT 2021
$ kass tmp
Tere, Maailm
$ 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
Viimane rida kinnitab, et selle faili mtime erineb ajast. Lõpuks kasutage -c ctime'i vaatamiseks märkige:
$ kuupäev
Laupäev 6. märts 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
Seekord kinnitame, et kõik kolm korda on erinevad ja õiged: me muutsime, siis avasime faili ja muutsime siis selles järjekorras.
Alternatiiv ls-le on stat käsk. See käsk kuvab faili inode madala taseme üksikasjad. See hõlbustab kõigi kolme korraga kontrollimist. Samuti saab see mööda mõistmatute probleemist -u lipp. Siin on sama faili väljundnäide:
$ stat tmp2
Fail: "tmp2"
Suurus: 13 plokki: 8 IO plokk: 4096 tavaline fail
Seade: 801h / 2049d Inode: 327688 Lingid: 1
Juurdepääs: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Juurdepääs: 2021-03-06 16: 59: 45.000000000 +0000
Muuda: 2021-03-06 16: 57: 59.000000000 +0000
Muudatus: 2021-03-06 17: 02: 43.000000000 +0000
Kuidas ajatemplid uuendada
The puudutada käsk muudab faili muutmise ja juurdepääsu aegu. See on ka mugav viis tühja faili loomiseks, mida ta teeb, kui faili pole veel olemas:
puudutage tmp
Vaikimisi määrab see kellaaja ja aja praeguseks. Funktsiooniga saate määrata teise aja -t lipp:
touch -t 202103061200 tmp
Funktsiooniga saate määrata ka ainult aja või aja -m ja -a lipud vastavalt:
puudutus -t 202103061300 -m tmp
Pange tähele, et ctime uueneb alati, kui määrame aja või mtime.
Kuidas ajatemplite järgi faile leida
The leidma käsk on veel üks ajamärkidele reageeriv tööriist. See suudab faile filtreerida atime, ctime või mtime põhjal. Näiteks:
leidma. -amin 15
leiab failid, millele on juurdepääs täpselt 15 minutit tagasi, samas kui:
leidma. -aeg -2
leiab viimase kahe päeva jooksul muudetud failid.
Linux jälgib iga faili kolm korda
Kõige sagedamini viidatakse faili ajatemplile mtime. See on kuupäev ja kellaaeg, mida näiteks faililoendis kuvatakse. Kuid ka ülejäänud kaks ajatemplit võivad olla kasulikud, kui mõistate, millele nad viitavad. Eelkõige pidage alati meeles, et ctime tähistab muutus aeg, mitte looming aeg.
Sellised käsud nagu touch ja stat on Linuxi käsurea tööriistakasti kasulikud liikmed. Need käsud parandavad teie Linuxi töövoogu, võimaldades teil kiiresti uusi faile luua.
See lihtne petulehe abil saate Linuxi käsureaterminaliga mugavaks saada.
- Linux
- Failihaldus
- Linux Distro
Bobby on tehnoloogiaentusiast, kes töötas tarkvaraarendajana peaaegu kaks aastakümmet. Ta on kirglik mängude vastu, töötab Switch Player Magazine'is arvustuste toimetajana ning on süvenenud veebiväljaannete ja veebiarenduse kõigisse aspektidesse.
Telli meie uudiskiri
Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!
Veel üks samm !!!
Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.