find / pavadinimas -ls
-ls -- veikia taip pat kaip ls
-ok -- prieš vykdant kokius nors destruktyvius veiksmus, paprašo patvirtinimo.
-exec -- vykdo komandą su rastai dokumentais.
-delete -- trina dokumentus.
Ieško .txt dokumentų visame kataloge:
$ find ./ -name '*txt' ieškome 'dokumentas' '/home' kataloge
$ find /home -type f -name dokumentas -print
Ieškome visų katalogų /home/user/Documents/ kataloge:
$ find /home/user/Documents/ -type d -print
-ls atspausdina failo informaciją:
$ find /home -type f -name test -ls
10141 0 -rw-rw-r-- sup sup Spa 13 04:56 /home/sup/Documents/Tests/test
Ieškom visų dokumentų, kurie yra .txt failai:
$ find /home/sup/Documents/ -type f -name *.txt -print
ieškant tik tų dokumentų, kurie modifikuotu prieš 60 minučių.
jei ieškotume peržiūrėtų, bet nepakeistų dokumentų tuomet naudojam atime:
$ find . -cmin -60
Kokie dokumentai buvo modifikuoti per paskutinę dieną:
$ find .config -type f -mtime -1
Naudojant xarg, kai yra tarpas dokumentų pavadinimuose naudojam:
$ find . -name '*.gif' -print0 | xargs -0 file
Dužiausių 10 dokumentų, kurie nebuvo vykdyti 300 dienų:
$ find ~ -atime +300 -print0 | xargs -0 ls -las | sort -n -r | head -10
Alternatyva:
Kaip išvengti find Permission denied pranešimų?
find / -type f -name test 2> /dev/null
Kaip surasti vartotojo katalogus?
$ find / -user nobody -ls 2> /dev/null
Kaip surasti katalogus, kurie nepriklauso jokiam vartotojui?
$ find / -nouser -ls 2> /dev/null
Kaip rasti visus didelius failus, visuose kataloguose išskyrus:
$ find / -type f -not -path "/home/user/Downloads/*" -size +200M 2>1
Paieška atliekama greičiau, tačiau reikia žinoti, kad tam tikri failų tipai ir katalogai(/tmp/, /root/. ...) yra ignoruojami, o naujai sukurti dokumentai nėra matomi neatnaujinus podėklio.
Paprasta paieška:
$ locate labas
/home/sup/Documents/labai/svarus/katalogas/labas.txt
Nustatymas -i neskiria didžiųjų ir mažųjų raidžių:
$ locate -i labas
/home/sup/Documents/labai/svarus/katalogas/Labas.txt
/home/sup/Documents/labai/svarus/katalogas/labas.txt
locate podėklio atnaujinimas:
$ sudo updatedb
grep paieška.
grep paieška.
Ieškom visų žodžiū prasidedančių(^) lithu, kurie gali baigtis kaip nori(*).
grep "^lithu*" /usr/share/dict/words
lithe
lither
lithest
lithium
lithium's
Nustatymas -i kaip ir locate programoje neskiria didžiųjų ir mažųjų raidžių:
grep -i "^lithu*" /usr/share/dict/words
Lithuania
Lithuania's
Lithuanian
Lithuanian's
Lithuanians
lithe
lither
Atvirkštinė paieška -v . Randa viską išskyrus tcp:
$ grep -vi tcp /etc/services
Rodo visų siejiklių ip adresus:
$ ip a | grep inet
grep -rli nuoroda ~
/home/sup/Downloads/linux64/src/app/language/lt.json