Linux -tiedoston aikaleimojen ymmärtäminen: mtime, ctime ja atime

Linux -tiedoston aikaleimojen ymmärtäminen: mtime, ctime ja atime

Linux -käyttöjärjestelmä seuraa kolme aikaleimaa jokaiselle järjestelmän tiedostolle. Näiden aikaleimojen avulla voit selvittää, milloin tiedosto on viimeksi päivitetty. Mutta mitä ne kaikki tarkoittavat? Ja miten tiedät nämä ajat tiedostolle? Onko hakemistoissa eroa?





Atimen, ctime: n ja mtime: n ymmärtäminen voi vastata kaikkiin näihin kysymyksiin. Nämä ovat kolme aikaleimaa, joita Unix -tiedostojärjestelmät seuraavat. Jos haluat tietää yksityiskohtia siitä, mikä ja milloin muuttui, lue eteenpäin.





Mitkä ovat kolme Unix -aikaleimaa?

Jokaisessa tiedostossa on kolme aikaleimaa. Linux tallentaa nämä Unix aikamuoto joka mittaa sekuntia aikakaudesta. Kolme aikaleimaa kutsutaan yleisesti atime, ctime ja mtime.





The mtime on yleisin ja usein hyödyllisin. Se tarkoittaa muutettu aika . Se on aika, jolloin tiedoston sisältö on viimeksi kirjoitettu levylle.

Hieman erilainen on ctime joka tarkoittaa muuttaa aikaa . Tämä aikaleima seuraa metatietojen muutoksia, kuten omistajuutta ja käyttöoikeuksia. Se sisältää tiedoston nimeämisen uudelleen - ainakin tyypillisissä nykyaikaisissa Linux -käyttöjärjestelmissä. Mutta se päivittyy myös, kun tiedoston sisältö muuttuu, joten se on aina yhtä ajan tasalla kuin mtime.



Kolmas aikaleima on aika , joka tallentaa viimeisen kerran, kun kukaan käytti tiedostoa.

voitko laittaa ps3 -pelejä ps4: ään

Aikaleimojen soveltaminen hakemistoihin

Linux -hakemisto on lähinnä luettelo kyseisen hakemiston tiedostoista. Joten tiedoston luominen hakemiston sisään päivittää hakemiston mtime. Luettelo hakemiston tiedostoista käyttämällä ls esimerkiksi päivittää sen käyttöajan. Ja kuten tiedoston kohdalla, hakemiston käyttöoikeuksien tai nimen muuttaminen päivittää sen ctime.





Entä luomisaika?

Saatat yllättyä, kun huomaat, että Linux ei yksinkertaisesti seuraa luomisaikaa. Voisit aluksi olettaa, että ctime tarkoittaa luomisen aikaa. Voit myös ajatella sitä erittäin hyödyllisenä asiana selvittääksesi.

Monet sovellukset tallentavat tiedostoja luomalla ne alusta alkaen joka kerta. Tämä tekisi luomisajan käyttämisestä harhaanjohtavan.





Eri aikaleimojen tarkasteleminen

Yksinkertaisin tapa saada aikaleiman tiedot on the ls komento . Pitkä oletusmuoto näyttää mtime -tiedot:

$ 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

Voit näyttää ajankohdan sen sijaan käyttämällä -u lippu:

$ 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

Viimeinen rivi vahvistaa, että tämän tiedoston mtime on eri kuin atime. Käytä lopuksi -c lippu nähdäksesi 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

Tällä kertaa vahvistamme, että kaikki kolme kertaa ovat erilaiset ja oikeat: muokkasimme, sitten käytimme ja muutimme tiedostoa tässä järjestyksessä.

Vaihtoehto ls: lle on osavaltio komento. Tämä komento näyttää matalan tason tiedot tiedoston inodesta. Sen avulla on helpompi tarkistaa kaikki kolme kertaa kerralla. Se kiertää myös intuitiivisen ongelman -u lippu. Tässä on esimerkkitulos samalle tiedostolle:

$ 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

Aikaleimojen päivittäminen

The kosketus komento muuttaa tiedoston muokkaus- ja käyttöaikoja. Se on myös kätevä tapa luoda tyhjä tiedosto, jonka se tekee, jos tiedostoa ei ole vielä olemassa:

icloud ei anna minun kirjautua sisään iPhonella
touch tmp

Oletusarvoisesti se asettaa mtime ja atime nykyisen ajan. Voit asettaa eri ajan näppäimillä -t lippu:

touch -t 202103061200 tmp

Voit myös asettaa vain mtime tai atime -painikkeilla -m ja -kohteeseen liput vastaavasti:

touch -t 202103061300 -m tmp

Huomaa, että ctime päivittyy aina, kun asetamme atime tai mtime.

Tiedostojen löytäminen aikaleimojen perusteella

The löytö komento on toinen työkalu, joka vaikuttaa aikaleimoihin. Se voi suodattaa tiedostoja atime-, ctime- tai mtime -perusteella. Esimerkiksi:

find . -amin 15

löytää tiedostot, joita on käytetty tarkalleen 15 minuuttia sitten, kun taas:

find . -mtime -2

löytää viimeisten kahden päivän aikana muokatut tiedostot.

Linux seuraa jokaista tiedostoa kolme kertaa

Yleisimmin viitattu tiedoston aikaleima on mtime. Tämä on esimerkiksi päivämäärä ja kellonaika, jolloin tiedostoluettelo näyttää. Mutta myös muut kaksi aikaleimaa voivat olla hyödyllisiä, jos ymmärrät, mihin he viittaavat. Muista erityisesti aina, että ctime edustaa muuttaa aika, ei luominen aika.

Komennot, kuten touch ja stat, ovat hyödyllisiä Linux -komentorivin työkalupakin jäseniä. Nämä komennot parantavat Linux -työnkulkua antamalla sinun luoda uusia tiedostoja nopeasti.

Jaa Jaa Tweet Sähköposti Linux Commands Reference Cheat Sheet

Tämä yksinkertainen huijausarkki auttaa sinua tutustumaan Linux -komentoriviterminaaliin hetkessä.

miksi google maps ei toimi
Lue seuraava Liittyvät aiheet
  • Linux
  • Tiedostonhallinta
  • Linux Distro
Kirjailijasta Bobby Jack(58 artikkelia julkaistu)

Bobby on teknologian harrastaja, joka työskenteli ohjelmistokehittäjänä lähes kaksi vuosikymmentä. Hän on intohimoinen pelaamisesta, työskentelee Switch Editor Magazine -lehden arvostelutoimittajana ja on upotettu kaikkeen verkkojulkaisemiseen ja -kehitykseen.

Lisää Bobby Jackilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi