Administruojant serverį dažnai tenka susidurti su tam tikrų failų paieška ir nežinant kaip efektyviai ją atlikti galite sugaišti nemažai laiko. Šioje pamokoje apžvelgsime būtent failų ieškojimui skirtos komandos "find" panaudojimą ir pritaikymą.
1. Paieška pagal failo pavadinimą
Norint surasti norimą failą kataloge paprasčiausiai įveskite:
find -name "failo_pavadinimas"
Jeigu norite, kad paieška nekreiptų dėmesio į didžiąsias mažąsias raides:
find -iname "Failo_pavadinimas"
Jeigu norite failų ieškoti visame serveryje, tuomet turėtume įvykdyti tokią komandą:
find / -name "failo_pavadinimas"
2. Paieška pagal tipą
Serveryje atliekant paiešką pagal tipą galima pasirinkti šiuos tipus:
- f - paprastas failas;
- d - katalogas;
- l - simbolinė nuoroda;
- c - raidinis įtaisas (angl. character devices);
- b - blokinis įtaisas (angl. block device).
Tokiu atveju paieškos užklausa turėtų atrodyti taip:
find /home/ -type d
Ši užklausa suras visus katalogus esančius "home" kataloge.
Jeigu norime surasti visus failus serveryje savo pavadinime turinčius ".conf" galūnę, tuomet turėtume įvykdyti tokią komandą:
find / -type f -name "*.conf"
3. Paieška pagal dydį
"find" komanda mums leidžia ieškoti failų ir pagal jų dydį. Serveryje atliekant paiešką pagal dydį naudojami tokie sutrumpinimai:
- c - baitai;
- k - kilobaitai;
- M - megabaitai;
- G - gigabaitai.
Jeigu norime surasti visus failus serveryje, kurių dydis yra lygus vienam megabaitui, turėtume įvykdyti tokią komandą:
find / -size 1M
Jeigu norime surasti visus failus serveryje, kurių dydis yra mažesnis nei vienas megabaitas, turėtume įvykdyti tokią komandą:
find / -size -1M
Jeigu norime surasti visus failus serveryje, kurių dydis yra didesnis nei vienas megabaitas, turėtume įvykdyti tokią komandą:
find / -size +1M
4. Paieška pagal laiką
"find" komanda taip pat mums leidžia ieškoti failų ir pagal jų paskutinio pakeitimo arba kreipimosi laiką. Serveryje atliekant paiešką pagal laiką naudojami tokie argumentai:
- atime - kreipties laikas, kada paskutinį kartą buvo kreipiamasi į failą;
- mtime - modifikavimo laikas, kada paskutinė kartą buvo pakeistas failo turinys;
- ctime - pakeitimo laikas, kada paskutinį kartą buvo pakeista informacija apie failą.
Jeigu norime surasti visus failus serveryje, kurie buvo modifikuoti prieš vieną dieną, turėtume įvykdyti tokią komandą:
find / -mtime 1
Jeigu norime surasti visus failus serveryje, į kuriuos buvo kreiptasi per paskutinę dieną, turėtume įvykdyti tokią komandą:
find / -atime -1
Jeigu norime surasti visus failus serveryje, kurių informacija buvo pakeista vėliau nei prieš dvi dienas, turėtume įvykdyti tokią komandą:
find / -ctime +2
5. Paieška pagal savininką
Jeigu norime surasti visus failus serveryje, kurių savininkas yra "syslog", turėtume įvykdyti tokią komandą:
find / -user syslog