Find (Unix)

Valitsimet

-print, tulostaa haetut tiedostot kokonaisten polkujen kera

-type, hakee halutun tyyppiset tiedostot:
f, tavallinen tiedosto
d, hakemisto
l, symbolinen linkki
p, nimetty putki
s, soketti
b, lohkomuotoinen laitetiedosto
c, merkkimuotoinen laitetiedosto

-perm, hakee halutunlaisilla oikeuksilla varustetut tiedostot, lisävalitsimilla oikeuksien edessä voidaan käyttää:
+, hakee kaikki tiedostot, joissa yksikin bitti on halutunlaisissa oikeuksissa asetettuna
-, hakee kaikki tiedostot, joissa on vähintään halutunlaiset oikeudet asetettuina
, jos etumerkkiä ei aseteta -perm hakee vain ne tiedostot, joissa on täsmälleen halutut oikeudet

-amin #nro, hakee tiedostot, joihin on kajottu #nro minuuttia sitten. Voidaan ilmoittaa myös etumerkin kanssa, 
jolloin haetaan myös uudemmat (-) tai vanhemmat (+) tiedostot

-anewer "tiedosto", hakee tiedostot, joihin on kajottu sen jälkeen kuin "tiedostoa" on muokattu

-atime #nro, hakee tiedostot, joihin on kajottu #nro päivää sitten. Voidaan myös ilmoittaa etumerkillisenä

-cmin #nro, hakee tiedostot, joita on muutettu #nro minuuttia sitten. Voidaan myös ilmoitta etumerkillisenä

-cnewer "tiedosto", hakee tiedostot, joita on muutettu sen jälkeen kuin "tiedostoa" on muokattu

-ctime #nro, hakee tiedostot, joita on muutettu #nro päivää sitten. Voidaan myös ilmoittaa etumerkillisenä

-fstype "tiedostojärjestelmätyyppi", hakee tiedostot, jotka ovat "tiedostojärjestelmätyyppisessä" tiedostojärjestelmässä

-gid #nro, hakee tiedostot, joiden numeerinen ryhmänumero on #nro

-group "ryhmänimi", hakee tiedostot jotka ovat "ryhmänimen" omistuksessa

-mmin #nro, hakee tiedostot, joita on muokattu #nro minuuttia sitten. Voidaan myös ilmoittaa etumerkillisenä

-mtime #nro, hakee tiedostot, joita on muokattu #nro päivää sitten. Voidaan myös ilmoittaa etumerkillisenä

-newer "tiedosto", hakee tiedostot, joita on muokattu "tiedoston" muokkaamisen jälkeen

-name "tiedosto", hakee tiedostot, jotka ovat annetun nimisiä. Haettavassa nimessä ei huomioida sen hakemistopolkua. 
 Haussa voidaan käyttää myös esimerkiksi erikoismerkkejä [], *, ?, jotka eivät tosin hae pisteellä 
 "." alkavia tiedostonimiä, vaikka lauseke sinänsä mätsäisi niitä.

-path "lauseke", toimii muuten samoin kuin -name mutta haussa huomioidaan sen hakemistopolku

-regex "säännöllinen lauseke", hakee tiedostot joiden nimi mätsää annetun "säännöllisen lausekkeen" kanssa

-size #nro[cwbk], hakee määritellyn kokoiset tiedostot. Voidaan ilmoittaa myös etumerkillisenä ja halutulla koon yksiköllä, 
 joka on oletusarvoisesti blokki (b).

Operaattorit

\( \), suluilla manipuloidaan arvojärjestystä

-a, looginen ja

-o, looginen tai

!, looginen ei

Esimerkkejä

Etsii kaikki järjestelmän tiedostot ja tulostaa niiden nimet kokonaisine polkuineen:

find / -print
Etsii kaikki työhakemistossa olevat alihakemistot muttei suorita hakuja rekursiivisesti niiden sisällä:

find . -type d ! -name \. -prune -print
Etsii kaikki työhakemiston tiedostot tai hakemistot, joissa on asetettuna ryhmälle tai muille käyttäjille kirjoitusoikeus:

find . -perm +0022 -print
Etsii ""-merkkien sisällä olevaa tekstiä tiedostojen sisältä:

find . -type f -exec grep -i "phrase to find" {} \; -print