A Linux operációs rendszer nyomon követi a rendszer minden fájljának három időbélyegét. Ezek az időbélyegek lehetővé teszik, hogy megtudja, mikor volt a fájl utolsó frissítése. De mit jelentenek mind? És hogyan lehet megtudni ezeket az időket egy fájlhoz? Van különbség a könyvtárak között?
Az atime, ctime és mtime megértése válaszolhat ezekre a kérdésekre. Ez a három időbélyeg, amelyet a Unix fájlrendszerek követnek. Ha valaha is részleteket kell megtudnia arról, hogy mi és mikor változott, olvasson tovább.
Mi a három Unix időbélyeg?
Minden fájlhoz három időbélyeg tartozik. A Linux ezeket tárolja a Unix időformátum amely másodperceket mér a korszak óta. A három időbélyegzőt általában atime, ctime és mtime néven emlegetik.
Az mtime a leggyakoribb és gyakran a leghasznosabb. Azt jelenti módosított idő . Ez az az időpont, amikor a fájl tartalma utoljára a lemezre került.
Kicsit más a ctime ami azt jelenti változtatni az időt . Ez az időbélyeg követi a metaadatok változásait, például a tulajdonjogot és az engedélyeket. Ez magában foglalja a fájl átnevezését - legalábbis tipikus modern Linux operációs rendszereken. De akkor is frissül, ha a fájl tartalma megváltozik, így mindig olyan naprakész, mint az mtime.
A harmadik időbélyeg a Egy idő , amely eltárolja azt az időt, amikor valaki utoljára hozzáfért a fájlhoz.
használhat különböző típusú ramokat
Az időbélyegek alkalmazása a könyvtárakban
A Linux könyvtár lényegében az adott könyvtárban található fájlok listája. Tehát egy fájl létrehozása egy könyvtárban frissíti a könyvtár mtime -ját. A fájlok listázása a könyvtárban, a ls parancs például frissíti a hozzáférési idejét. És mint egy fájl esetében, a könyvtár engedélyeinek vagy nevének megváltoztatása frissíti a ctime -t.
Mi a helyzet a teremtés idejével?
Meglepő lehet, ha megtudja, hogy a Linux egyszerűen nem követi nyomon a létrehozási időt. Kezdetben azt feltételezheti ctime a teremtés idejét jelenti. Hasonlóképpen, úgy gondolhatja, hogy ez egy nagyon hasznos dolog, hogy megtudja.
Sok alkalmazás menti a fájlokat úgy, hogy minden alkalommal a semmiből hozza létre őket. Ez megtévesztővé tenné a létrehozási idő használatát.
A különböző időbélyegek megtekintése
Az időbélyeggel kapcsolatos információk legegyszerűbb módja a az ls parancs . Az alapértelmezett hosszú formátum az mtime adatait mutatja:
$ 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
Ehelyett megjelenítheti az időt a -u zászló:
$ 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
Az utolsó sor megerősíti, hogy ennek a fájlnak az mtime -ja eltér az atime -tól. Végül használja a -c zászló a ctime megtekintéséhez:
$ 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
Ezúttal megerősítjük, hogy mindhárom alkalom megkülönböztethető és helyes: módosítottuk, majd elértük, majd megváltoztattuk a fájlt, ebben a sorrendben.
Az ls alternatívája a állapot parancs. Ez a parancs alacsony szintű adatokat jelenít meg a fájl inode-jából. Ez megkönnyíti mindhárom alkalommal történő ellenőrzést. Ez megkerüli az intuitív problémáját is -u zászló. Íme egy példa kimenet ugyanarra a fájlra:
$ 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
Az időbélyegek frissítése
Az érintés parancs megváltoztatja a fájl módosítási és hozzáférési idejét. Ez egy kényelmes módja egy üres fájl létrehozásának is, amelyet akkor is megtehet, ha a fájl még nem létezik:
letöltheti a törölt üzeneteket a messengeren
touch tmp
Alapértelmezés szerint az mtime és az atime beállítja az aktuális időt. Másik időt állíthat be a gombbal -t zászló:
touch -t 202103061200 tmp
Azt is beállíthatja, hogy csak mtime vagy atime legyen a gombbal -m és -nak nek zászlók:
touch -t 202103061300 -m tmp
Vegye figyelembe, hogy a ctime mindig frissül, amikor beállítjuk az atime vagy mtime beállítást.
Fájlok keresése időbélyegek alapján
Az megtalálja parancs egy másik eszköz, amely az időbélyegekre hat. Szűrheti a fájlokat az atime, ctime vagy mtime alapján. Például:
find . -amin 15
megtalálja a pontosan 15 perccel ezelőtt megnyitott fájlokat, miközben:
find . -mtime -2
megtalálja az elmúlt két napban módosított fájlokat.
A Linux háromszor követi nyomon az összes fájlt
A leggyakrabban hivatkozott fájl időbélyege az mtime. Ez az a dátum és idő, amelyet például a fájlok listája mutat. De a másik két időbélyeg is hasznos lehet, feltéve, ha megérti, mire utalnak. Különösen mindig ne feledje, hogy a ctime azt jelenti változás idő, nem Teremtés idő.
Az olyan parancsok, mint a touch és a stat a Linux parancssori eszköztárának hasznos tagjai. Ezek a parancsok javítják a Linux munkafolyamatát, mivel lehetővé teszik új fájlok gyors létrehozását.
Részvény Részvény Csipog Email A Linux Commands Reference Cheat SheetEz az egyszerű csalólap segít abban, hogy pillanatok alatt kényelmesen elsajátítsa a Linux parancssori terminálját.
menj ki a szobai játékbólOlvassa tovább Kapcsolódó témák
- Linux
- Fájlkezelés
- Linux Distro
Bobby technológiai rajongó, aki két évtized nagy részében szoftverfejlesztőként dolgozott. Szenvedélyesen szereti a játékot, a Switch Player Magazin Vélemények szerkesztőjeként dolgozik, és elmerül az online közzététel és webfejlesztés minden területén.
Továbbiak Bobby Jack -tőlIratkozzon fel hírlevelünkre
Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!
Feliratkozáshoz kattintson ide