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 shellpipe
(vizman bash
sekce naPipelines
)sort -n
znamená řadit podle prvního sloupce a považovat token za číselný namísto lexikografického (vizman sort
)cut -d' ' -f 2-
znamená rozdělit každý řádek pomocíman cut
)- POZNÁMKA:
-f 2
vytiskne pouze druhý token
- POZNÁMKA:
tail -n 1
znamená vytisknout poslední řádek (vizman 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.