Linux operētājsistēma izseko trīs laika zīmogus katram failam jūsu sistēmā. Šie laika zīmogi ļauj jums uzzināt, kad fails pēdējo reizi tika atjaunināts. Bet ko tie visi nozīmē? Un kā jūs uzzināt šoreiz par failu? Vai ir kāda atšķirība, ja runa ir par direktorijiem?

Izpratne par laiku, 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ījās, lasiet tālāk.

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

Katram failam ir pievienoti trīs laika zīmogi. Linux tos glabā 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 apzī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ī mainoties faila saturam, tāpēc tas vienmēr ir tikpat atjaunināts kā mtime.

Trešais laika zīmogs ir laiks, kurā tiek glabāta pēdējā reize, kad kāds piekļuvis failam.

Kā laika zīmogi attiecas uz 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 Piemēram, komanda atjaunina piekļuves laiku. Tāpat kā faila gadījumā, direktorija atļauju vai nosaukuma maiņa atjaunina tā ctime.

Kas par radīšanas laiku?

Tas var pārsteigt jūs, uzzinot, ka Linux vienkārši neievēro izveides laiku. Sākotnēji jūs to varētu pieņemt ctime nozīmē radīšanas laiku. Tāpat jūs domājat par to kā ļoti noderīgu lietu, lai varētu to uzzināt.

Daudzas lietojumprogrammas saglabā failus, katru reizi tos izveidojot no nulles. Tas radīšanas laika izmantošanu padarītu maldinošu.

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

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

$ datums
Sestdien, 6. martā 16:57:01 GMT 2021. gadā
$ echo "sveika, pasaule"> 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:

$ datums
Sestdien, 6. martā, 16:59:33 GMT 2021. gadā
$ kaķu tmp
Sveika pasaule
$ 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ā rinda apstiprina, ka šī faila mtime atšķiras no laika. Visbeidzot, izmantojiet -c karodziņš, lai skatītu ctime:

$ datums
Sestdien, 6. martā 17:02:34 GMT 2021. gadā
$ 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 modificējām, pēc tam piekļuvām un pēc tam mainījām failu šādā secībā.

Alternatīva ls ir stat komandu. Šī komanda parāda zema līmeņa informāciju no faila inodes. Tas atvieglo visu trīs reizes pārbaudi vienlaikus. Tas arī apiet neticīgo problēmu -u karogu. Šeit ir viena un tā paša faila izvades piemērs:

$ stat tmp2
Fails: "tmp2"
Izmērs: 13 Bloki: 8 IO bloks: 4096 parasts fails
Ierīce: 801h / 2049d Inode: 327688 Saites: 1
Piekļuve: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Piekļuve: 2021-03-06 16: 59: 45.000000000 +0000
Mainīt: 2021-03-06 16: 57: 59.000000000 +0000
Mainīt: 2021-03-06 17: 02: 43.000000000 +0000

Kā atjaunināt laika zīmogus

The pieskarties komanda maina faila modifikāciju un piekļuves laiku. Tas ir arī ērts veids, kā izveidot tukšu failu, un tas tiks darīts, ja fails vēl nepastāv:

pieskarties tmp

Pēc noklusējuma tas iestatīs pašreizējo laiku un laiku. Varat iestatīt citu laiku, izmantojot -t karogs:

pieskarties -t 202103061200 tmp

Ar. Var iestatīt arī tikai laiku vai laiku -m un -a attiecīgi karogi:

pieskarties -t 202103061300 -m tmp

Ņemiet vērā, ka ctime vienmēr tiek atjaunināts, kad mēs iestatām laiku 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:

atrast. -15

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

atrast. -laikā -2

atradīs pēdējās divās dienās modificētos failus.

Linux trīs reizes izseko katru failu

Visbiežāk atsauce uz faila laika zīmogu ir mtime. Šis ir datums un laiks, kuru parāda, piemēram, failu saraksts. Bet arī pārējie divi laika zīmogi var būt noderīgi, ja saprotat, uz ko viņi atsaucas. Jo īpaši vienmēr atcerieties, ka ctime pārstāv mainīt laiks, nevis radīšana laiks.

Tādas komandas kā touch un stat ir noderīgi Linux komandrindas rīkjoslas dalībnieki. Šīs komandas uzlabos jūsu Linux darbplūsmu, ļaujot ātri izveidot jaunus failus.

E-pasts
Linux komandu atsauces apkrāptu lapa

Šī vienkāršā apkrāptu lapa palīdzēs jums ērti strādāt ar Linux komandrindas termināli.

Saistītās tēmas
  • Linux
  • Failu pārvaldība
  • Linux Distro
Par autoru
Bobijs Džeks (Publicēti 33 raksti)

Bobijs ir tehnoloģiju entuziasts, kurš gandrīz divas desmitgades strādāja par programmatūras izstrādātāju. Viņš aizrauj spēles, strādā par atsauksmju redaktoru žurnālā Switch Player un ir iedziļinājies visos tiešsaistes izdevējdarbības 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 par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.