GNU/Linux >> Znalost Linux >  >> Linux

Jak najít nejstarší soubor ve stromu adresářů v Linuxu

Onehdy se mě jiný uživatel Linuxu zeptal, jak najít nejstarší soubor v adresáři z příkazového řádku v Linuxu. Nejstarší soubor v adresáři bychom mohli zjistit pomocí razítek data a času v režimu GUI. Ale nevím, jak to najít z příkazového řádku. Naštěstí jsem našel toto řešení po chvilce hrabání v googlu. Pokud jste někdy přemýšleli, jak najít nejstarší soubor v adresáři nebo v celém souborovém systému, čtěte dále. Není to tak těžké.

Najděte nejstarší soubor ve stromu adresářů v Linuxu

Chcete-li najít nejstarší soubor v adresáři, například /home/sk/ostechnix/ , spustit:

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 1

Pojďme si tento příkaz rozebrat a uvidíme, co dělá každý argument příkazového řádku.

Tady,

  • najít - Hledat soubory v hierarchii adresářů.
  • /home/sk/ostechnix/ - Vyhledat místo.
  • typ -f - Prohledává pouze běžné soubory.
  • -printf '%T+ %p\n' – Vytiskne datum a čas poslední úpravy souboru oddělené znakem + symbol. (Např. 2015-07-22+13:42:40.0000000000). Zde, %p označuje název souboru. \n označuje nový řádek.
  • řadit | hlava -n 1Řazení příkaz seřadí výstup a odešle výstup do head příkaz pro zobrazení nejstaršího souboru. Zde -n 1 označuje pouze jeden soubor, tj. nejstarší soubor.

Jak už možná víte, Explainshell vám pomůže zjistit, co každá část příkazu Linuxu dělá.

Výše uvedený příkaz vrátil následující výstup:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf

Jak vidíte ve výše uvedeném výstupu, Absolute FreeBSD_ 2nd Edition.pdf je nejstarší soubor v /home/sk/ostechnix/ adresář.

Upozorňujeme, že Linux nenajde nejstarší soubor podle data vytvoření souboru. Místo toho používá datum změny souboru najít.

Stáhnout - Zdarma Cheat Sheet:"Linux Command Line Cheat Sheet"

Podobně, chcete-li najít prvních pět nejstarších souborů v daném adresáři, stačí spustit:

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 5

Ukázkový výstup:

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf
2016-11-28+21:03:05.0000000000 /home/sk/ostechnix/Etcher-linux-x64.AppImage
2016-12-14+18:28:20.5162190000 /home/sk/ostechnix/ubuntu.jpg
2016-12-18+18:14:46.5931480000 /home/sk/ostechnix/Marconi Union - Sleepless.mp3
2017-03-17+19:28:27.8193330000 /home/sk/ostechnix/The Devops toolkit.pdf

Nejdříve se zobrazí nejstarší soubor.

Chcete-li najít nejstarší soubor v celém kořenovém (/) systému souborů, spusťte:

$ sudo find / -type f -printf '%T+ %p\n' | sort | head -n 1

Aktualizace:

Kolega uživatel Linuxu poukázal na to, jak najít nejstarší nebo nejnovější soubory v adresáři v sekci komentářů níže. Je to mnohem jednodušší než moje metoda.

Chcete-li zjistit nejstarší soubor v adresáři, přejděte do tohoto adresáře a spusťte:

$ ls -lt | tail -1

Chcete-li zjistit nejnovější soubor v adresáři:

$ ls -ltr | tail -1

Doufám, že to bylo užitečné.


Linux
  1. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?

  2. Najděte soubor a poté cd do tohoto adresáře v Linuxu

  3. Jak přenést výsledky 'najít' do mv v Linuxu

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

  2. Jak najít balíček, který poskytuje konkrétní soubor v Linuxu

  3. Jak mohu najít nejstarší soubor ve stromu adresářů

  1. Jak najít soubor v Linuxu

  2. Linux – jak zkombinovat strom s velikostí adresáře?

  3. jak najít vlastníka souboru nebo adresáře v pythonu