Izpratne par Linux failu laika zīmogiem: mtime, ctime un atime

Izpratne par Linux failu laika zīmogiem: mtime, ctime un atime

Linux operētājsistēma izseko trīs laika zīmogus katram jūsu sistēmas failam. Šie laika zīmogi ļauj uzzināt, kad fails pēdējo reizi tika atjaunināts. Bet ko tie visi nozīmē? Un kā jūs varat uzzināt šos laikus failam? Vai ir atšķirība attiecībā uz direktorijiem?





Izpratne par atime, ctime un mtime var atbildēt uz visiem šiem jautājumiem. Šie ir trīs laika zīmogi, kurus izseko Unix failu sistēmas. Ja jums kādreiz ir nepieciešams uzzināt sīkāku informāciju par to, kas un kad mainījies, lasiet tālāk.





Kādi ir trīs Unix laika zīmogi?

Katram failam ir saistīti trīs laika zīmogi. Linux tos uzglabā Unix laika formāts kas mēra sekundes kopš laikmeta. Trīs laika zīmogus parasti sauc par atime, ctime un mtime.





The mtime ir visizplatītākā un bieži vien visnoderīgākā. Tas nozīmē modificēts laiks . Tas ir laiks, kad faila saturs pēdējo reizi tika ierakstīts diskā.

Nedaudz atšķirīgs ir ctime kas apzīmē mainīt laiku . Šis laika zīmogs izseko metadatu izmaiņas, piemēram, īpašumtiesības un atļaujas. Tas ietver faila pārdēvēšanu - vismaz tipiskās mūsdienu Linux operētājsistēmās. Bet tas tiek atjaunināts arī tad, kad mainās faila saturs, tāpēc tas vienmēr ir tikpat aktuāls kā mtime.



Trešais laika zīmogs ir laiks , kas saglabā pēdējo reizi, kad kāds piekļuvis failam.

kā pārbaudīt ļaunprātīgu programmatūru iPhone

Laika zīmogu piemērošana direktorijiem

Linux direktorijs būtībā ir šajā direktorijā esošo failu saraksts. Tātad, izveidojot failu direktorijā, tiks atjaunināts šī direktorija mtime. Failu uzskaitīšana direktorijā, izmantojot ls komanda, piemēram, atjaunina piekļuves laiku. Un, tāpat kā faila gadījumā, mainot direktorija atļaujas vai nosaukumu, tiek atjaunināts tā laiks.





Kā ir ar radīšanas laiku?

Jūs varat pārsteigt, uzzinot, ka Linux vienkārši neseko izveides laikam. Sākumā jūs varētu domāt ctime apzīmē radīšanas laiku. Tāpat jūs to varētu uzskatīt par ļoti noderīgu lietu, lai to varētu noskaidrot.

Daudzas lietojumprogrammas saglabā failus, katru reizi izveidojot tos no jauna. Tādējādi radīšanas laika izmantošana būtu maldinoša.





Kā apskatīt dažādus laika zīmogus

Vienkāršākais veids, kā iegūt informāciju par laika zīmogu, ir un ls komandu . Noklusējuma garais formāts parāda informāciju par laiku:

$ 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

Tā vietā varat parādīt laiku, izmantojot -u karogs:

$ 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

Pēdējā rindiņa apstiprina, ka šī faila mtime atšķiras no laika. Visbeidzot, izmantojiet -c karogs, lai skatītu 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

Šoreiz mēs apstiprinām, ka visas trīs reizes ir atšķirīgas un pareizas: mēs mainījām, pēc tam piekļuvām un pēc tam mainījām failu šādā secībā.

Alternatīva ls ir Valsts komandu. Šī komanda parāda zema līmeņa informāciju no faila inode. Tas atvieglo visu trīs reižu pārbaudi vienlaikus. Tas arī apiet neintuitīvā problēmu -u karogs. Šeit ir viena un tā paša faila izvades piemērs:

$ 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

Kā atjaunināt laika zīmogus

The pieskarties komanda maina faila modifikācijas un piekļuves laikus. Tas ir arī ērts veids, kā izveidot tukšu failu, ko tas darīs, ja fails vēl neeksistē:

kā datorā izmantot instagram dm
touch tmp

Pēc noklusējuma tas iestatīs mtime un atime pašreizējo laiku. Izmantojot pogu, varat iestatīt citu laiku -t karogs:

touch -t 202103061200 tmp

Varat arī iestatīt tikai mtime vai atime, izmantojot -m un -uz attiecīgi karogi:

touch -t 202103061300 -m tmp

Ņemiet vērā, ka ctime vienmēr tiek atjaunināts, kad mēs iestatām atime vai mtime.

Kā atrast failus, pamatojoties uz laika zīmogiem

The atrast komanda ir vēl viens rīks, kas darbojas uz laika zīmogiem. Tas var filtrēt failus, pamatojoties uz atime, ctime vai mtime. Piemēram:

find . -amin 15

atradīs failus, kuriem piekļūts tieši pirms 15 minūtēm, bet:

find . -mtime -2

atradīs pēdējo divu dienu laikā modificētos failus.

Linux trīs reizes izseko katru failu

Visbiežāk minētais faila laika zīmogs ir mtime. Tas ir datums un laiks, kas, piemēram, tiek parādīts failu sarakstā. Bet arī pārējie divi laika zīmogi var būt noderīgi, ja saprotat, uz ko tie attiecas. Jo īpaši vienmēr atcerieties, ka ctime nozīmē mainīt laiks, ne radīšanu laiks.

Komandas, piemēram, pieskāriens un stat, ir noderīgi Linux komandrindas rīkjoslas dalībnieki. Šīs komandas uzlabos jūsu Linux darbplūsmu, ļaujot ātri izveidot jaunus failus.

Kopīgot Kopīgot Čivināt E -pasts Linux komandu atsauces apkrāptu lapa

Šī vienkāršā apkrāpšanas lapa palīdzēs jums ātri izbaudīt Linux komandrindas termināli.

Disnejs + palīdzības centra kļūdas kods 83
Lasīt Tālāk Saistītās tēmas
  • Linux
  • Failu pārvaldība
  • Linux Distro
Par autoru Bobijs Džeks(58 raksti publicēti)

Bobijs ir tehnoloģiju entuziasts, kurš gandrīz divus gadu desmitus strādāja par programmatūras izstrādātāju. Viņš aizraujas ar spēlēm, strādā par atsauksmju redaktoru žurnālā Switch Player un ir iedziļinājies visos tiešsaistes publicēšanas un tīmekļa izstrādes aspektos.

Vairāk no Bobija Džeka

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu