GNU/Linux >> Znalost Linux >  >> Linux

Jak najít soubory založené na časovém razítku v Linuxu

Příkaz find v Linuxu se používá k hledání souborů a složky na základě různých parametrů. Tyto parametry mohou být název souboru , velikost , typ souboru , atd.

[ Také by se vám mohlo líbit:Jak najít soubory obsahující konkrétní textový řetězec v Linuxu ]

Jedním z takových parametrů je časové razítko souboru. V Linuxu (a všech souborových systémech založených na Unixu) existují 3 časová razítka udržované pro každý soubor:

  1. Čas poslední úpravy
  2. Čas posledního přístupu
  3. Čas poslední změny stavu (tj. když se změní metadata souboru, jako jsou oprávnění)

Podívejme se, jak používat najít vyhledávat soubory na základě každého z těchto časových razítek .

Najděte časová razítka souborů v systému Linux

Nejprve můžeme spustit ‘stat ‘ příkaz v Linuxu pro získání všech těchto časových razítek pro soubor. Například pro soubor s názvem ‚stat ‘, spustit:

$ stat tmp

Najít soubory podle časového razítka

Nyní k vyhledání souborů podle časového razítka , použijeme argument '-newerXY' z hledání z manuálové stránky.

man find

Tedy v argumentu '-newerXY' , můžeme mít X jako a , c nebo m , respektive pro poslední přístup, poslední změnu stavu a časy poslední úpravy a Y jako t , abychom mohli mít jako další argument časové razítko řetězec.

Poznámka :Čas narození, tj. čas vytvoření souboru, není v Unixu zachován založené souborové systémy

Abychom to zobecnili, příkaz, který se má spustit, vypadá takto:

find <directory_path> -newer<a/m/c>t ‘<timestamp>’

Zde je formát časového razítka by mělo být:‘RRRR-MM-DD HH:MM:SS‘ .

Zkusme to na složce s několika soubory a pouze dvěma soubory, které byly po určité době zpřístupněny, upraveny a jejich stav se změnil.

find . -newerat ‘2021-02-19 06:34’
find . -newerct ‘2021-02-19 06:34’
find . -newermt ‘2021-02-19 06:34’

Ověřte pomocí ‘stat’ pokud časová razítka z obou souborů jsou skutečně delší než zadaný čas.

stat tmp2 tmp3
Závěr

Naučili jsme se používat '-newerXY' argument příkazu najít pro vyhledávání souborů podle časového razítka .

Pro referenční časové razítko můžete také použít jiný soubor místo explicitního zadání časového razítka , v takovém případě ‘t‘ z argumentu lze přeskočit.

Děkujeme za přečtení a dejte nám vědět své myšlenky v komentářích níže!


Linux
  1. Jak převést soubory do kódování UTF-8 v Linuxu

  2. Jak najít nedávné nebo dnešní upravené soubory v Linuxu

  3. Jak najít soubor v Linuxu

  1. Jak najít soubor v Linuxu ve všech adresářích rekurzivně

  2. Jak najít duplicitní soubory v Linuxu

  3. Jak v Linuxu zobrazím seznam souborů s úplnými cestami?

  1. Jak najít soubory v Linuxu

  2. Jak zkrátit (prázdné) soubory v Linuxu

  3. Jak najít soubory ve formátu DOS v systému souborů linux