Linux-käyttöjärjestelmä seuraa kolmea aikaleimaa jokaiselle järjestelmän tiedostolle. Näiden aikaleimojen avulla voit selvittää, milloin tiedosto päivitettiin viimeksi. Mutta mitä ne kaikki tarkoittavat? Ja miten saat selville nämä ajat tiedostolle? Onko hakemistoissa eroa?
Ajan, 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 joskus tietää yksityiskohtia siitä, mikä muuttui ja milloin, lue eteenpäin.
Mitkä ovat kolme Unix-aikaleimaa?
Jokaiseen tiedostoon liittyy kolme aikaleimaa. Linux tallentaa nämä Unix-aikamuoto joka mittaa sekunteja aikakaudesta. Kolme aikaleimaa kutsutaan yleisesti atime, ctime ja mtime.
mtime on yleisin ja usein hyödyllisin. Se tarkoittaa muokattu aika. Se on aika, jolloin tiedoston sisältö kirjoitettiin viimeksi levylle.
Hieman erilainen on ctime mikä tarkoittaa muuttaa aikaa. Tämä aikaleima seuraa metatietomuutoksia, kuten omistajuutta ja käyttöoikeuksia. Se sisältää tiedoston uudelleennimeämisen - 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 tiedostoon pääsyn.
Kuinka aikaleimat koskevat hakemistoja
Linux-hakemisto on lähinnä luettelo hakemiston tiedostoista. Joten tiedoston luominen hakemistoon päivittää hakemiston mtime-ajan. Luetteloi tiedostot hakemistoon käyttämällä Ls Esimerkiksi komento päivittää käyttöajan. Ja kuten tiedostossa, hakemiston käyttöoikeuksien tai nimen muuttaminen päivittää sen ctime-ajan.
Entä luomisaika?
Saatat yllättää, kun opit, että Linux ei yksinkertaisesti seuraa kirjanpitoaikaa. Voit aluksi olettaa sen ctime tarkoittaa luomisaikaa. Samoin saatat ajatella sitä erittäin hyödyllisenä asiana, jotta voit selvittää sen.
Monet sovellukset tallentavat tiedostoja luomalla ne alusta alkaen joka kerta. Tämä tekisi luomisajan käyttämisen harhaanjohtavaksi.
Kuinka tarkastella erilaisia aikaleimoja
Yksinkertaisin tapa saada aikaleimatiedot on Ls komento. Pitkä oletusmuoto näyttää yksityiskohdat mtime:
$ päivämäärä
La 6. maaliskuuta 16:57:01 GMT 2021
$ echo "hei, maailma"> tmp
$ ls -l tmp.txt
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp
Voit näyttää sen sijaan kellonajan käyttämällä -u lippu:
$ päivämäärä
La 6. maaliskuuta 16:59:33 GMT 2021
$ kissa tmp
Hei maailma
$ 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 eroaa ajankohdasta. Käytä lopuksi -c lippu nähdäksesi ctime:
$ päivämäärä
La 6. maaliskuuta 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 selkeät ja oikein: muokkaimme, käytimme sitten, muutimme sitten tiedostoa siinä järjestyksessä.
Vaihtoehto ls: lle on til komento. Tämä komento näyttää matalan tason tiedot tiedoston inodista. Sen avulla on helpompaa tarkistaa kaikki kolme kertaa kerralla. Se kiertää myös epäjohdonmukaisen ongelman -u lippu. Tässä on esimerkki samasta tiedostosta:
$ stat tmp2
Tiedosto: `` tmp2 ''
Koko: 13 lohkoa: 8 IO-lohko: 4096 tavallinen tiedosto
Laite: 801h / 2049d Inode: 327688 Linkit: 1
Pääsy: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Pääsy: 2021-03-06 16: 59: 45.000000000 +0000
Muokkaa: 2021-03-06 16: 57: 59.000000000 +0000
Muutos: 2021-03-06 17: 02: 43.000000000 +0000
Kuinka päivittää aikaleimat
kosketus komento muuttaa tiedoston muokkaus- ja käyttöaikoja. Se on myös kätevä tapa luoda tyhjä tiedosto, jota se tekee, jos tiedostoa ei vielä ole olemassa:
kosketa tmp
Oletusarvoisesti se asettaa ajan ja kellonajan nykyiseen aikaan. Voit asettaa toisen kellonajan -t lippu:
touch -t 202103061200 tmp
Voit myös asettaa vain mtime tai kellonajan -m ja -a liput vastaavasti:
kosketus -t 202103061300 -m tmp
Huomaa, että ctime päivittyy aina, kun asetamme ajan tai mtimeen.
Kuinka löytää tiedostoja aikaleimojen perusteella
löytö komento on toinen aikaleimoihin vaikuttava työkalu. Se voi suodattaa tiedostoja atime-, ctime- tai mtime-tietojen perusteella. Esimerkiksi:
löytö. -amin 15
löytää tiedostot, joita on käytetty täsmälleen 15 minuuttia sitten, kun:
löytö. -aika -2
löytää tiedostoja, jotka on muokattu kahden viime päivän aikana.
Linux seuraa jokaista tiedostoa kolme kertaa
Yleisimmin viitattu tiedoston aikaleima on mtime. Tämä on päivämäärä ja kellonaika, jolloin esimerkiksi tiedostoluettelo näyttää. Mutta kaksi muuta aikaleimaa voivat olla hyödyllisiä myös, jos ymmärrät, mihin ne viittaavat. Muista aina, että ctime edustaa muuttaa ei aikaa luominen aika.
Komennot, kuten touch ja stat, ovat hyödyllisiä jäseniä Linux-komentorivin työkalupakissa. Nämä komennot parantavat Linux-työnkulkuasi antamalla sinun luoda uusia tiedostoja nopeasti.
Tämä yksinkertainen huijausarkki auttaa sinua viihtymään Linux-komentorivipäätteen kanssa hetkessä.
- Linux
- Tiedostonhallinta
- Linux Distro

Bobby on tekniikan harrastaja, joka työskenteli ohjelmistokehittäjänä kahden vuosikymmenen ajan. Hän on intohimoinen pelaamisesta, työskentelee Switch Editor -lehden arvostelujen toimittajana ja on upotettu verkkojulkaisuun ja verkkokehitykseen.
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.