GNU/Linux >> Znalost Linux >  >> Linux

Získejte nejnovější soubor v adresáři v systému Linux

Toto je rekurzivní verze (tj. najde naposledy aktualizovaný soubor v určitém adresáři nebo v jakémkoli jeho podadresáři)

find /dir/path -type f -printf "%[email protected] %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1

Krátké laické vysvětlení příkazového řádku:

  • find /dir/path -type f najde všechny soubory v adresáři
    • -printf "%[email protected] %p\n" vypíše řádek pro každý soubor, kde %[email protected] je plovoucí sekundy od epochy 1970 a %p je cesta k souboru a \n je znak nového řádku
    • Další informace naleznete v části man find
  • | je shell pipe (viz man bash sekce na Pipelines )
  • sort -n znamená řadit podle prvního sloupce a považovat token za číselný namísto lexikografického (viz man sort )
  • cut -d' ' -f 2- znamená rozdělit každý řádek pomocí znak a poté vytisknout všechny tokeny počínaje druhým tokenem (viz man cut )
    • POZNÁMKA:-f 2 vytiskne pouze druhý token
  • tail -n 1 znamená vytisknout poslední řádek (viz man tail )

ls -Art | tail -n 1

Tím se vrátí poslední upravený soubor nebo adresář. Není to moc elegantní, ale funguje to.

Použité příznaky:

-A vypsat všechny soubory kromě . a ..

-r obrácené pořadí při řazení

-t seřadit podle času, od nejnovější


ls -t | head -n1

Tento příkaz ve skutečnosti poskytuje poslední upravený soubor nebo adresář v aktuálním pracovním adresáři.


Linux
  1. Linux – všechno je soubor?

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

  3. Jak získat velikost adresáře v Linuxu

  1. Python FTP získá nejnovější soubor podle data

  2. Jak získám absolutní adresář souboru v bash?

  3. méně (linux) get/go-to X offset v souboru

  1. Linux – účel adresáře /net?

  2. Získejte datum poslední změny souboru v Linuxu

  3. Jak získat fyzickou velikost souboru v Linuxu?