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 "%example@unixlinux.online %p\n" | sort -n | cut -d' ' -f 2- | tail -n 1
Krátké laické vysvětlení příkazového řádku:
find /dir/path -type fnajde všechny soubory v adresáři-printf "%example@unixlinux.online %p\n"vypíše řádek pro každý soubor, kde%example@unixlinux.onlineje plovoucí sekundy od epochy 1970 a%pje cesta k souboru a\nje znak nového řádku- Další informace naleznete v části
man find
|je shellpipe(vizman bashsekce naPipelines)sort -nznamená ř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íznak a poté vytisknout všechny tokeny počínaje druhým tokenem (vizman cut)- POZNÁMKA:
-f 2vytiskne pouze druhý token
- POZNÁMKA:
tail -n 1znamená 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.