Prikaz find
Prikaz find sluzi na vyhladavanie suborov v adresarovom strome. Prehladavanie zacne so vsetkymi subormi z initialneho adresara adresar a pokracuje rekurzivne vsetkymi subormi z podadresarov. Dalsie argumenty prikazu find sluzia ako predikaty testujuce rozne vlastnosti suboru. Standardne je zoznam predikatov interpretovany ako logicka konjunkcia. Kazdy nasledujuci predikat sa vyhodnoti iba ak je to nevyhnutne pre vypocet hodnoty celeho vyrazu. Zvlastne predikaty sposobuju vedlajsie efekty ako napr. vypis mena suboru, ...
find adresar predikaty | ||||||||||||||||||||||||||||||||||||||
najpouzivanejsie predikaty:
vypis vsetkych suborov z podadresarov "/home/user", ktore zacinaju aj koncia retazcom "to". guma:user:~>find /home/user -name "to*to" -print /home/user/java/tests/virt/toto /home/user/Mail/toto /home/user/tmp/toto /home/user/tmp/sstmp/toto /home/user/sutaz/toto Vymazanie vsetkych suborov z podadresarov "/home/user", ktore koncia retazcom ".dvi" alebo ".o" alebo ktore sa volaju "core", netyka sa to suborov z podadresara "downloads". find /home/user \( -name "downloads" -prune \) -o \( -name "*.dvi" -o -name "*.o" -o -name "core" \) -exec rm {} \; |
Cvicenia
1.) Napiste prikaz, ktory prehlada adresar /usr (a podadresare) a najde vsetky subory s menom zacinajucim slovom 'find'. 2.) Napiste prikaz, ktory najde vsetky subory v adresari /tmp modifikovane za posledny den. 3.) Napiste prikaz, ktory vypise mena (s cestou) vsetkych suborov s menom "core", dalej vsetky subory s koncovkou ".o", a vsetky subory s koncovkou ".tmp" v pracovnom adresari a podaresaroch. 4.) Napiste prikaz, ktory zisti celkovy pocet riadkov vsetkych suborov s koncovkou ".c", plus vsetkych suborov s koncovkou ".h" plus vsetkych suborov s koncovkou ".java" v adresari /usr a podadresaroch. 5.) Napiste prikaz, ktory najde vsetky subory z adresara /tmp modifikovane za posledny den a skopiruje ich do adresara ~/zaloha/tmp. |

