Operační systém Linux sleduje tři časová razítka pro každý soubor ve vašem systému. Tato časová razítka vám umožňují zjistit, kdy byl soubor naposledy aktualizován. Ale co tím myslí všichni? A jak zjistíte tyto časy pro soubor? Existuje rozdíl, pokud jde o adresáře?

Porozumění atime, ctime a mtime může odpovědět na všechny tyto otázky. Jedná se o tři časová razítka, která sledují unixové souborové systémy. Pokud někdy potřebujete zjistit podrobnosti o tom, co a kdy se změnilo, čtěte dále.

Jaké jsou tři časové značky Unixu?

Ke každému souboru jsou přidružena tři časová razítka. Linux je ukládá do 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 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ň na typických moderních operačních systémech Linux. Ale také se aktualizuje, když se změní obsah souboru, takže je vždy aktuální jako mtime.

instagram viewer

Třetím časovým razítkem je Doba, který ukládá poslední přístup k souboru.

Jak se časová razítka vztahují na adresáře

Adresář Linux je v podstatě seznam souborů v tomto adresáři. Vytvoření souboru uvnitř adresáře tedy aktualizuje jeho čas. Seznam souborů v adresáři pomocí je příkaz například aktualizuje svůj přístupový čas. A stejně jako u souboru, změna oprávnění nebo názvu adresáře aktualizuje jeho dobu.

A co čas stvoření?

Možná vás překvapí, když zjistíte, že Linux jednoduše nesleduje čas vytvoření. Zpočátku byste to mohli předpokládat ctime znamená čas stvoření. Stejně tak to můžete považovat za velmi užitečnou věc, abyste to mohli zjistit.

Mnoho aplikací ukládá soubory tak, že je pokaždé vytvoří od začátku. To by způsobilo, že použití času stvoření bude zavádějící.

Jak zobrazit různá časová razítka

Nejjednodušší způsob, jak získat informace o časovém razítku, je the je příkaz. Výchozí dlouhý formát zobrazuje podrobnosti o mtime:

$ datum
So 6. března 16:57:01 GMT 2021
$ echo "ahoj, svět"> tmp
$ ls -l tmp.txt
-rw-r - r-- 1 ubuntu ubuntu 13 2021-03-06 16:57 tmp

Místo toho můžete zobrazit čas pomocí -u vlajka:

$ datum
So 6. března 16:59:33 GMT 2021
$ kočka tmp
Ahoj světe
$ 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 čas mtime tohoto souboru se liší od času. Nakonec použijte -C flag to view ctime:

$ datum
So 6. března 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é: upravili jsme, poté jsme přistupovali a poté změnili soubor v tomto pořadí.

Alternativou k ls je stat příkaz. Tento příkaz zobrazí podrobnosti na nízké úrovni z inodu souboru. Usnadňuje kontrolu všech třikrát najednou. Rovněž obchází problém neintuitivních -u vlajka. Tady je příklad výstupu pro stejný soubor:

$ stat tmp2
Soubor: `tmp2 '
Velikost: 13 bloků: 8 IO blok: 4096 běžných souborů
Zařízení: 801h / 2049d Inode: 327688 Odkazy: 1
Přístup: (0644 / -rw-r - r--) Uid: (1000 / ubuntu) Gid: (1000 / ubuntu)
Přístup: 2021-03-06 16:59: 45,000000000 +0000
Upravit: 2021-03-06 16:57: 59,000000000 +0000
Změna: 2021-03-06 17: 02: 43.000000000 +0000

Jak aktualizovat časová razítka

The dotek příkaz změní úpravy a časy přístupu k souboru. Je to také pohodlný způsob vytvoření prázdného souboru, který se provede, pokud soubor ještě neexistuje:

dotek tmp

Ve výchozím nastavení nastaví čas a čas na aktuální čas. Pomocí tlačítka můžete nastavit jiný čas -t vlajka:

touch -t 202103061200 tmp

Pomocí tlačítka můžete také nastavit pouze mtime nebo atime -m-A příznaky v tomto pořadí:

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 na základě časových značek

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:

nalézt. -amin 15

najde soubory přistupované přesně před 15 minutami, zatímco:

nalézt. -mtime -2

najde soubory upravené během posledních dvou dnů.

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, kdy se zobrazí výpis souboru. Ale další dvě časová razítka mohou být také užitečná, pokud pochopíte, na co odkazují. Zejména si vždy pamatujte, že ctime představuje změna čas, ne stvoření čas.

Příkazy jako touch a stat jsou užitečnými členy sady nástrojů příkazového řádku systému Linux. Tyto příkazy zlepší váš pracovní postup v Linuxu tím, že vám umožní rychle vytvářet nové soubory.

E-mailem
Cheat Sheet Linux Commands Reference

Tento jednoduchý podváděcí list vám pomůže pohodlně se seznámit s terminálem příkazového řádku Linuxu.

Související témata
  • Linux
  • Správa souborů
  • Linux Distro
O autorovi
Bobby Jack (Publikováno 33 článků)

Bobby je technologický nadšenec, který většinu softwarových vývojářů pracoval téměř dvě desetiletí. Je vášnivým hráčem, pracuje jako editor recenzí v časopisu Switch Player Magazine a je ponořen do všech aspektů online publikování a vývoje webových stránek.

Více od Bobbyho Jacka

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!

Ještě jeden krok…!

V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.

.