Často sa vyskytujú situácie, keď potrebujete zobraziť nedávno vytvorené, nové súbory v operačnom systéme. Často to potrebuje správca systému, ktorý vytvoril konfiguračný súbor a potom jednoducho zabudol, kde bol uložený. Potreba vyhľadať nové súbory môže vzniknúť aj preto, že potrebujete zistiť, či sa súbor nedávno zmenil alebo nie. Vo všeobecnosti môžu byť situácie veľmi rôzne. Výhodou operačného systému Linux je, že tradične poskytuje niekoľko spôsobov riešenia konkrétneho problému.
Najjednoduchším a najbežnejším spôsobom vyhľadávania nových súborov v systéme Linux je nástroj Nájsť
. V závislosti od vašich aktuálnych potrieb sa mu odovzdávajú rôzne parametre, napríklad môžete vyhľadávať súbory len v určitom rozsahu kalendárnych mesiacov alebo dní, podrobnosti o tom, ako to možno urobiť, nájdete nižšie.
Súbory sa zobrazujú v adresároch a podadresároch a sú zoradené:
$ find /etc -type f -printf '%TY-%Tm-%Td %TT %p ' | sort –r
Ako však vidíte, výsledok je dosť pôsobivý, nie je možné rozpoznať nové súbory z celého zoznamu. Preto musíme použiť iný príkaz:
$ find /etc -type f -mmin -120
Takto určíme, že v systéme sa majú vyhľadávať len súbory, ktoré boli vytvorené za poslednú hodinu.
Ak je potrebné pokryť posledné dva dni, potom zadajte nasledujúci príkaz:
$ find /etc -type f -mtime -2
Niekedy nie je potrebné hĺbať do podadresárov tretej úrovne, preto na vylúčenie tejto činnosti musíme použiť špeciálnu voľbu maxdepth
:
$ find /etc -maxdepth 3 -mtime -2 -type f
Môžeme vidieť všetky nové súbory vytvorené v systéme Linux za posledných sedem dní, ale s tým, že posledné tri dni by sa nemali brať do úvahy:
$ find /etc -type f -mtime -7 ! -mtime -3
Tieto príkazy vypíšu cestu k súboru, ale na zobrazenie atribútov musíme použiť špeciálnu voľbu --exec
. Ďalej vypíšeme atribúty každého nového súboru pomocou nástroja ls
:
$ find /etc -type f -mmin -120 -exec ls -al {} ;
Ak sa vám tento príkaz zdá príliš mätúci a zložitý, môžete použiť iný:
$ find /etc -type f -mmin -120 | xargs ls -l
Tu už použijeme iný nástroj, xargs
. Nástroj find umožňuje nájsť aj súbory novšie ako konkrétny súbor. Vytvorme napríklad referenčný súbor:
$ touch /tmp/test
Teraz nájdite všetky novšie súbory v koreňovom adresári, ktoré boli vytvorené po ňom:
$ find / -type f -newer /tmp/test
Prejdime k ďalšej metóde.
Táto metóda vyhľadávania nových súborov je oveľa jednoduchšia ako predchádzajúca, preto ju možno odporučiť začiatočníkom v Linuxe. Príkaz ls
dokáže súbory v adresári zoradiť aj podľa dátumu vytvorenia. Na tento účel nám stačí spustiť príkaz ls:
$ ls -ltr
Súborov môže byť príliš veľa, preto je rozumné spustiť aj tento príkaz:
$ ls -ltr | tail
Tieto spôsoby vyhľadávania nových súborov nie sú všetky, ale stačia na to, aby ste prácu vykonali rýchlo a efektívne. Ako vidíte, základné vyhľadávacie príkazy find a ls môžu byť ešte flexibilnejšie, ak ich skombinujete s príkazmi sort, tail
a grep
.