Operační systém Linux sleduje tři časová razítka pro každý soubor ve vašem systému. Tato časová razítka umožňují zjistit, kdy byl soubor naposledy aktualizován. Co ale všechny znamenají? A jak zjistíte tyto časy pro soubor? Je nějaký rozdíl, pokud jde o adresáře?
Pochopení atime, ctime a mtime může odpovědět na všechny tyto otázky. Toto jsou tři časová razítka, která unixové systémy souborů sledují. Pokud budete někdy potřebovat zjistit podrobnosti o tom, co a kdy se změnilo, čtěte dále.
Jaká jsou tři unixová časová razítka?
Ke každému souboru jsou přiřazena tři časová razítka. Linux je ukládá do souboru Unixový formát času který měří sekundy od epochy. Tři časová razítka se běžně označují jako atime, ctime a mtime.
The mtime je nejběžnější a často i nejužitečnější. Znamená upravený čas . Je to čas, kdy byl obsah souboru naposledy zapsán na disk.
Trochu jiné je ctime což znamená změnit čas . Toto časové razítko sleduje změny metadat, jako je vlastnictví a oprávnění. Zahrnuje přejmenování souboru - alespoň v typických moderních operačních systémech Linux. Aktualizuje se však také při změně obsahu souboru, takže je vždy aktuální jako mtime.
Třetí časové razítko je Doba , který ukládá poslední přístup k souboru.
jak zkontrolovat malware na iphone
Jak se časová razítka vztahují na adresáře
Adresář Linuxu je v podstatě seznam souborů v tomto adresáři. Vytvoření souboru v adresáři tedy aktualizuje mtime tohoto adresáře. Výpis souborů v adresáři pomocí ls příkaz například aktualizuje jeho přístupovou dobu. A stejně jako u souboru, změna oprávnění nebo názvu adresáře aktualizuje jeho čas.
Co čas vytvoření?
Možná vás překvapí, když zjistíte, že Linux jednoduše nezaznamenává čas vytvoření. Zpočátku byste to mohli předpokládat ctime znamená čas vytvoření. Stejně tak to můžete považovat za velmi užitečnou věc, kterou můžete zjistit.
Mnoho aplikací ukládá soubory tak, že je pokaždé vytvoří úplně od začátku. To by použití času vytvoření zavádělo.
Jak zobrazit různá časová razítka
Nejjednodušší způsob, jak získat informace o časovém razítku, je pomocí the ls příkaz . Výchozí dlouhý formát zobrazuje podrobnosti o mtime:
$ 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
Atime můžete místo toho zobrazit pomocí -u vlajka:
$ 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
Poslední řádek potvrzuje, že mtime tohoto souboru se liší od atime. Nakonec použijte -C vlajka pro zobrazení 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
Tentokrát potvrzujeme, že všechny tři časy jsou odlišné a správné: soubor jsme upravili, poté jsme k němu přistoupili a pak jsme jej změnili v uvedeném pořadí.
Alternativou k ls je Stát příkaz. Tento příkaz zobrazuje podrobnosti nízké úrovně z uzlu souboru. Usnadňuje to kontrolu všech tří najednou. Obchází také problém neintuitivního -u vlajka. Zde je příklad výstupu pro stejný soubor:
$ 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
Jak aktualizovat časová razítka
The dotek příkaz změní dobu úprav a přístup k souboru. Je to také pohodlný způsob vytvoření prázdného souboru, který provede, pokud soubor již neexistuje:
icloud mi nedovolí přihlásit se na iphone
touch tmp
Ve výchozím nastavení nastaví mtime a atime na aktuální čas. Pomocí tlačítka můžete nastavit jiný čas -t vlajka:
touch -t 202103061200 tmp
Můžete také nastavit pouze mtime nebo atime pomocí -m a -na vlajky:
touch -t 202103061300 -m tmp
Všimněte si, že ctime se vždy aktualizuje, když nastavíme atime nebo mtime.
Jak najít soubory podle časových razítek
The nalézt příkaz je další nástroj, který působí na časová razítka. Může filtrovat soubory na základě atime, ctime nebo mtime. Například:
find . -amin 15
najde soubory přístupné přesně před 15 minutami, zatímco:
find . -mtime -2
najde soubory upravené za poslední dva dny.
Linux sleduje každý soubor třikrát
Nejčastěji odkazovaným časovým razítkem souboru je mtime. Toto je například datum a čas, který zobrazuje výpis souborů. Ale i další dvě časová razítka mohou být užitečná, pokud rozumíte tomu, o čem mluví. Zejména si vždy pamatujte, že ctime představuje změna čas ne tvorba čas.
Příkazy jako dotek a statistika jsou užitečnými členy sady nástrojů příkazového řádku Linuxu. Tyto příkazy vylepší váš pracovní postup Linuxu tím, že vám umožní rychle vytvářet nové soubory.
Podíl Podíl tweet E-mailem Cheat Sheet referenční příručky LinuxuTento jednoduchý cheat list vám pomůže rychle se seznámit s terminálem příkazového řádku Linuxu.
kde prodávat staré počítačové součástkyČíst dále Související témata
- Linux
- Správa souborů
- Linux Distro
Bobby je technologický nadšenec, který pracoval jako vývojář softwaru po téměř dvě desetiletí. Je zapálený pro hraní her, pracuje jako editor recenzí časopisu Switch Player Magazine a je ponořen do všech aspektů online publikování a webového vývoje.
Více od Bobbyho JackaPřihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!
Kliknutím sem se přihlásíte k odběru