Provided by: manpages-fi_0.2-2_all bug

NIMI

       find - tiedostojen haku hakemistohierarkiasta

YLEISKATSAUS

       find [polku...] [lauseke]

KUVAUS

       Tämä  käsikirjan sivu dokumentoi find-ohjelman GNU-version.  find etsii
       kuhunkin annettuun tiedostonimeen  liittyvän  hakemistopuun  laskemalla
       annetun     lausekkeen    arvon    vasemmalta    oikealle    noudattaen
       laskentajärjestyssääntöjä (katso luku OPERAATTORIT), kunnes  lopputulos
       on  tiedossa  (vasemman puolen and operaatioiden tulos on epätosi ja or
       operaatioiden tosi), jolloin find siirtyy seuraavaan tiedostonimeen.

       Ensimmäinen argumentti, joka alkaa ‘-’, ‘(’, ‘)’, ‘,’ tai ‘!’ oletetaan
       lausekkeen alkukohdaksi; kaikki argumentit ennen sitä ovat hakupolkuja,
       ja kaikki argumentit sen jälkeen ovat lausekkeen jatkoa. Ellei  polkuja
       ole  annettu,  käytetään  nykyistä hakemistoa. Jos mitään lauseketta ei
       ole annettu, käytetään lauseketta ‘-print’.

       find-ohjelman suorituksen jälkeen paluuarvo on 0, jos kaikki  tiedostot
       on käsitelty onnistuneesti ja suurempi kuin 0, jos esiintyy virheitä.

LAUSEKKEET

       Lauseke   koostuu   optioista  (jotka  vaikuttavat  kokonaisoperaatioon
       eivätkä tietyn tiedoston käsittelyyn, ja palauttavat aina arvon  tosi),
       testeistä  (jotka  palauttavat  arvon tosi tai epätosi) ja toiminnoista
       (joilla  on  sivuvaikutuksia  ja  jotka  palauttavat  arvon  tosi   tai
       epätosi).  Näitä  kaikkia  erottavat  toisistaan  operaattorit. -and on
       oletusarvo, jos operaattori  puuttuu.  Jos  lauseke  ei  sisällä  muita
       toimintoja   kuin   -prune,   käytetään   toimintoa   -print   kaikille
       tiedostoille, joilla lauseke saa arvon tosi.

   OPTIOT
       Kaikki optiot palauttavat aina arvon tosi. Ne vaikuttavat  aina,  eivät
       pelkästään  silloin,  kun niiden paikka lausekkeessa saavutetaan. Siksi
       ne on paras selvyyden vuoksi sijoittaa lausekkeen alkuun.

       -daystart
              Mittaa aikoja (-amin, -atime, -cmin, -ctime,  -mmin  ja  -mtime)
              tämän vuorokauden alusta eikä ajankohdasta 24 tuntia sitten.

       -depth Prosessoi kunkin hakemiston sisällön ennen hakemistoa itseään.

       -follow
              Seuraa symbolisia linkkejä. Olettaa option -noleaf.

       -help, --help
              Tulostaa  find  -ohjelman  komentorivin  käyttöohjeen ja poistuu
              ohjelmasta.

       -maxdepth tasot
              Laskeudutaan  enintään  tasot   (ei-negatiivinen   kokonaisluku)
              hakemistotasoa komentoriviargumenttien alapuolelle.‘-maxdepth 0’
              tarkoittaa, että testejä ja  toimintoja  voidaan  soveltaa  vain
              komentoriviargumentteihin.

       -mindepth tasot
              Ei   sovelleta  testejä  tai  toimintoja  tasoilla,  jotka  ovat
              vähemmän kuin tasot (ei-negatiivinen  kokonaisluku).  ‘-mindepth
              1’   tarkoittaa   sitä,   että   käsitellään   kaikki  tiedostot
              lukuunottamatta komentoriviargumentteja.

       -mount Ei laskeuduta muiden tiedostojärjestelmien hakemistoihin. Option
              -xdev vaihtoehtoinen nimi, yhteensopivuuden takia eräiden muiden
              find-versioiden kanssa.

       -noleaf
              Ei oleteta, että hakemistoissa on 2 alihakemistoa vähemmän  kuin
              niiden kovien linkkien lukumäärä. Tämä optio tarvitaan, kun haku
              kohdistuu  tiedostojärjestelmiin,  jotka  eivät  noudata  Unixin
              hakemisto-linkki-konventiota,    esim.    CD-ROM-   tai   MS-DOS
              -tiedostojärjestelmät  tai   AFS-tietovälineasemat.   Jokaisella
              normaalin  Unix-tiedostojärjestelmän  hakemistolla  on ainakin 2
              kovaa  linkkiä:  sen  nimi  ja  sen  ‘.’-linkki.   Lisäksi   sen
              alihakemistoilla  (jos  niitä  on) on jokaisella ‘..’-linkki ko.
              hakemistoon.  Kun   find   tutkii   hakemistoa,   ja   havaitsee
              alihakemistojen  lukumäärän  olevan  2  pienempi kuin hakemiston
              linkkien lukumäärä, se tietää, että loput linkeistä hakemistossa
              eivät  ole  hakemistoja (hakemistopuun ‘lehti’-tiedostoja).  Jos
              vain  tiedostojen  nimet  (eikä  niiden  tilatietoja)  tarvitsee
              tutkia, tämä merkitsee huomattavaa hakunopeuden lisäystä.

       -version, --version
              Näytä find:n version numero ja poistu ohjelmasta.

       -xdev  Ei laskeuduta muiden tiedostojärjestelmien hakemistoihin.

   TESTIT
       Numeeriset argumentit voidaan määritellä seuraavasti:

       +n     arvolle suurempi kuin n,

       -n     arvolle pienempi kuin n,

       n      arvolle yhtä kuin n.

       -amin n
              Tiedostoa luettiin viimeksi n minuuttia sitten.

       -anewer tiedosto
              Tiedostoa luettiin viimeksi myöhemmin kuin tiedostoa muutettiin.
              -anewer ottaa huomioon option -follow vain, jos -follow on ennen
              testiä -anewer komentorivillä.

       -atime n
              Tiedostoa luettiin viimeksi n*24 tuntia sitten.

       -cmin n
              Tiedoston tilaa muutettiin viimeksi n minuuttia sitten.

       -cnewer tiedosto
              Tiedoston  tilaa  muutettiin  viimeksi  myöhemmin  kuin tiedosto
              muutettiin.  -cnewer ottaa  huomioon  option  -follow  vain  jos
              -follow on ennen testiä -cnewer komentorivillä.

       -ctime n
              Tiedoston tilaa muutettiin viimeksi n*24 tuntia sitten.

       -empty Tiedosto on tyhjä ja joko tavallinen tiedosto tai hakemisto.

       -false Aina epätosi.

       -fstype tyyppi
              Tiedosto  on  tyypin tyyppi tiedostojärjestelmässä.  Kelvolliset
              tiedostojärjestelmätyypit vaihtelevat eri Unix-versioissa.  Voit
              käyttää   optiota   -printf   %F-direktiivin  kanssa  nähdäksesi
              tiedostojärjestelmiesi tyypit.

       -gid n Tiedoston numeerinen ryhmätunnus on n.

       -group ryhmtunnus
              Tiedosto kuuluu ryhmään ryhmtunnus (numeerinen  ryhmätunnus  on
              sallittu).

       -ilname kuvio
              Kuten -lname, mutta vertailu ei erota isoja ja pieniä kirjaimia.

       -iname kuvio
              Kuten -name, mutta vertailu ei erota isoja ja pieniä  kirjaimia.
              Esimerkiksi kuviot ‘fo*’ ja ‘F??’ vastaavat tiedostonimiä ‘Foo’,
              ‘FOO’, ‘foo’, ‘fOo’ jne.

       -inum n
              Tiedostolla on inode luku n.

       -ipath kuvio
              Kuten -path, mutta vertailu ei erota isoja ja pieniä  kirjaimia.

       -iregex kuvio
              Kuten -regex, mutta vertailu ei erota isoja ja pieniä kirjaimia.

       -links n
              Tiedostolla on n linkkiä.

       -lname kuvio
              Tiedosto   on   symbolinen   linkki,   jonka   sisältö    vastaa
              komentotulkin   kuviota   (shell   pattern)   kuvio.  Metamerkit
              (metacharacters)  eivät   käsittele   merkkejä   ‘/’   tai   ‘.’
              erityisellä tavalla.

       -mmin n
              Tiedoston  tietosisältöä muutettiin viimeksi n minuuttia sitten.

       -mtime n
              Tiedoston tietosisältöä muutettiin viimeksi n*24 tuntia  sitten.

       -name kuvio
              Tiedostonimen  perusosa  (polku,  josta nimen alun hakemistot on
              poistettu) vastaa komentotulkin kuviota kuvio.  Metamerkit (‘*’,
              ‘?’,  ja  ‘[]’) eivät vastaa merkkiä ‘.’ nimen perusosan alussa.
              Käytä optiota -prune  hakemiston  ja  sen  alaisten  tiedostojen
              ohitukseen; katso esimerkkiä option -path kuvauksessa.

       -newer tiedosto
              Tiedostoa muutettiin myöhemmin kuin tiedosto muutettiin.  -newer
              ottaa huomioon option -follow vain, jos -follow on ennen  testiä
              -newer komentorivillä.

       -nouser
              Mikään käyttäjä ei vastaa tiedoston numeerista käyttäjätunnusta.

       -nogroup
              Mikään ryhmä ei vastaa tiedoston numeerista ryhmätunnusta.

       -path kuvio
              Tiedostonimi vastaa  komentotulkin  kuviota  kuvio.   Metamerkit
              eivät  käsittele merkkejä ‘/’ tai ‘.’ erityisellä tavalla; siten
              esimerkiksi
                        find . -path ’./sr*sc’
              tulostaa  merkinnän  hakemistosta  ’./src/misc’   (jos   se   on
              olemassa).   Jos  haluat ohittaa kokonaisen hakemistopuun, käytä
              optiota -prune, jolloin  ei  tarvitse  tarkistaa  puun  jokaista
              tiedostoa.  Esimerkiksi  hakemiston  ‘src/emacs’ ja kaikkien sen
              alaisten tiedostojen ja  hakemistojen  ohittamiseksi  ja  muiden
              löytyneiden  tiedostojen  ja  hakemistojen nimien tulostamiseksi
              menettele seuraavasti:
                        find . -path ’./src/emacs’ -prune -o -print

       -perm moodi
              Tiedoston käyttöoikeusbitit ovat täsmälleen moodi  (oktaali  tai
              symbolinen).  Symboliset moodit käyttävät moodia 0 lähtökohtana.

       -perm -moodi
              Kaikki käyttöoikeusbitit moodi asetetaan tiedostolle.

       -perm +moodi
              Mitkä tahansa käyttöoikeusbitit moodi asetetaan tiedostolle.

       -regex kuvio
              Tiedostonimi vastaa säännöllistä lauseketta kuvio.  Kyseessä  on
              koko polun vastaavuus, ei haku. Esimerkiksi tiedoston ‘./fubar3’
              vastineen  löytämiseksi  voit  käyttää  säännöllistä  lauseketta
              ‘.*bar.’ tai ‘.*b.*3’, mutta et lauseketta ‘b.*r3’.

       -size n[bckw]
              Tiedosto  käyttää  n  yksikköä  tilaa. Yksiköt ovat 512-tavuisia
              lohkoja joko oletusarvoisesti tai jos ‘b’ seuraa arvoa n, tavuja
              jos  ‘c’ seuraa arvoa n, kilotavuja, jos ‘k’ seuraa arvoa n, tai
              2-tavuisia sanoja, jos ‘w’ seuraa arvoa n.  Koko ei ota huomioon
              epäsuoria  lohkoja, mutta ottaa huomioon harvat tiedostot, joita
              ei tosiasiassa ole varattu.

       -true  Aina tosi.

       -type c
              Tiedosto on tyyppiä c:

              b      lohkolaitetiedosto (puskuroitu)

              c      merkkilaitetiedosto (puskuroimaton)

              d      hakemisto

              p      nimetty putki (FIFO)

              f      tavallinen tiedosto

              l      symbolinen linkki

              s      socket

       -uid n Tiedoston numeerinen käyttäjätunnus on n.

       -used n
              Tiedostoa luettiin viimeksi n päivää sen jälkeen, kun  sen  tila
              muuttui.

       -user uname
              Tiedoston   omistaa  kyttjtunnus  (numeerinen  käyttäjätunnus
              sallittu).

       -xtype c
              Sama  kuin  -type  ellei   tiedosto   ole   symbolinen   linkki.
              Symbolisen  linkin tapauksessa: tosi, jos -follow ei ole annettu
              ja tiedosto on linkki tyypin c tiedostoon; tosi, jos -follow  on
              annettu   ja   c   ‘l’.   Toisin  sanoen,  symbolisten  linkkien
              tapauksessa  -xtype  tarkistaa  tiedostotyypin,  jota  -type  ei
              tarkista.

   TOIMINNOT
       -exec komento ;
              Suorita  komento komento; tosi jos paluuarvo on 0. Kaikki find:a
              seuraavat argumentit ovat komennon argumentteja kunnes kohdataan
              argumentti    ‘;’.    Merkkijono   ‘{}’   korvataan   nykyisellä
              tiedostonimellä,  joka  prosessoidaan   kaikkialla,   missä   se
              esiintyy   komennon   argumenteissa,   eikä   pelkästään   yksin
              esiintyesään,  kuten  on  asianlaita   eräissä   muissa   find:n
              versioissa.   Molemmat   näistä  rakenteista  saattavat  tarvita
              suojausta  (‘\’)  tai  lainausmerkkejä   komentotulkin   tekemän
              laajennuksen estämiseksi.  Komento suoritetaan alkuhakemistossa.

       -fls tiedosto
              Tosi; kuten -ls,  mutta  kirjoittaa  tiedostoon  tiedosto  kuten
              -fprint.

       -fprint tiedosto
              Tosi; tulosta täydellinen tiedostonimi tiedostoon tiedosto.  Jos
              tiedostoa tiedosto ei ole, kun  find  toteutetaan,  se  luodaan;
              jos    se    on    olemassa,   se   typistetään.   Tiedostonimet
              ‘‘/dev/stdout’’ ja ‘‘/dev/stderr’’ saavat erityiskäsittelyn;  ne
              viittaavat vastaavasti vakiotulosteeseen ja vakiovirheeseen.

       -fprint0 tiedosto
              Tosi; kuten -print0, mutta kirjoittaa tiedostoon tiedosto, kuten
              -fprint.

       -fprintf tiedosto mallinne
              Tosi; kuten -print0, mutta kirjoittaa tiedostoon tiedosto, kuten
              -fprint.

       -ok komento ;
              Kuten  -exec,  mutta  kysyy  ennen  suoritusta käyttäjältä lupaa
              (vakiosyötteestä); jos vastaus ei ala merkillä ‘y’ tai ‘Y’,  älä
              toteuta komentoa ja palauta epätosi.

       -print Tosi;  tulosta  täydellinen  tiedostonimi  ja  rivinvaihtomerkki
              vakiotulosteeseen.

       -print0
              Tosi; tulosta täydellinen  tiedostonimi  ja  nollamerkki  (null)
              vakiotulosteeseen.   Tämä   sallii   komennon   find  tulostusta
              käsittelevien ohjelmien  tulkita  oikein  tiedostonimet,  joihin
              sisältyy rivinvaihtoja.

       -printf mallinne
              Tosi;   tulostaa   mallinne   vakiotulosteeseen   ja   tulkitsee
              ‘\’-merkit (escapes) ja ‘%’-ohjeet (directives).  Kentänleveydet
              ja  tarkkuudet  määritellään kuten C-funktiossa ‘printf‘. Toisin
              kuin -print, -printf ei lisää rivinvaihtoa merkkijonon  loppuun.
              ‘\’-merkit ( escapes) ja direktiivit ovat:

              \a     Äänimerkki.

              \b     Askel taakse.

              \c     Lopeta   heti   tämän  mallinteen  käsittely  ja  tulosta
                     käsitellyt.

              \f     Sivun vaihto.

              \n     Rivin vaihto.

              \r     Siirry rivin alkuun.

              \t     Vaakatabulointi.

              \v     Pystytabulointi.

              \\     Kenoviiva (‘\’).

              Kenoviiva  ‘\’,  jota  seuraa  jokin  muu   merkki   käsitellään
              tavallisena merkkinä; molemmat tulostetaan.

              %%     Tulostettava prosenttimerkki.

              %a     Tiedoston  viimeisin  lukuajankohta  muotoiltuna kuten C-
                     kielen ‘ctime’- funktiossa.

              %Ak    Tiedoston   viimeisin   lukuajankohta    muotoiltuna    k
                     mukaisesti,    mikä    on    joko    ‘@’   tai   C-kielen
                     ‘strftime’-funktion ohjausarvo. k:n mahdolliset arvot  on
                     lueteltu  alla;  jotkut  niistä  eivät  ole käytettävissä
                     kaikissa  järjestelmissä  funktion   ‘strftime’   eroista
                     johtuen.

                      @      sekuntia  tammikuun  1  päivästä  1970, 00:00 GMT
                             lukien.

                     Kellonaikakentät:

                      H      tunti (00..23)

                      I      tunti (01..12)

                      k      tunti ( 0..23)

                      l      tunti ( 1..12)

                      M      minuutti (00..59)

                      p      locale:n aamupäivä (AM) tai iltapäivä (PM)

                      r      kellonaika, 12-tuntinen (hh:mm:ss [AP]M)

                      S      sekunti (00..61)

                      T      kellonaika, 24-tuntinen (hh:mm:ss)

                      X      locale:n kellonaikaesitystapa (H:M:S)

                      Z      aikavyöhyke  (e.g.,  EDT),  tai  tyhjä,  jos   ei
                             määritelty

                     Päivämääräkentät:

                      a      locale:n lyhennetty viikonpäivätunnus (Sun..Sat)

                      A      locale:n      vaihtelevanpituinen     täydellinen
                             viikonpäivän nimi (Sunday..Saturday)

                      b      locale:n lyhennetty kuukauden nimi (Jan..Dec)

                      B      locale:n     vaihtelevanpituinen      täydellinen
                             kuukauden nimi (January..December)

                      c      locale:n  päivämäärä  ja  kellonaika  (Sat Nov 04
                             12:02:33 EST 1989)

                      d      kuukauden päivä (01..31)

                      D      päivämäärä (mm/dd/yy)

                      h      sama kuin b

                      j      vuoden päivä (001..366)

                      m      kuukausi (01..12)

                      U      vuoden  viikon  numero;   sunnuntai   on   viikon
                             ensimmäinen päivä (00..53)

                      w      viikon päivä (0..6)

                      W      vuoden   viikon   numero;   maanantai  on  viikon
                             ensimmäinen päivä (00..53)

                      x      locale:n päivämäärän esitysmuoto (mm/dd/yy)

                      y      vuosiluvun kaksi viimeistä numeroa (00..99)

                      Y      vuosi (1970...)

              %b     Tiedoston   koko    512    tavun    lohkoina    (ylöspäin
                     pyöristettynä).

              %c     Tiedoston    viimeisin    tilanmuutosajankohta   C-kielen
                     funktion ‘ctime’ palauttamassa muodossa.

              %Ck    Tiedoston viimeisin tilanmuutosajankohta k:n  (sama  kuin
                     %A) palauttamassa muodossa.

              %d     Tiedoston  syvyys  hakemistopuussa;  0  tarkoittaa,  että
                     tiedosto on komentorivin argumentti.

              %f     Tiedostonimi, josta nimen alun  hakemistot  on  poistettu
                     (vain nimen viimeinen osa).

              %F     Tiedostojärjestelmän  tyyppi,  jossa  tiedosto  on;  tätä
                     arvoa voi käyttää -fstype.

              %g     Tiedoston ryhmänimi tai ryhmätunnus, jos nimeä ei ole.

              %G     Tiedoston numeerinen ryhmätunnus.

              %h     Tiedostonimen alkuun  kuuluvat  hakemistot  (muut  paitsi
                     nimen viimeinen osa).

              %H     Komentoriviargumentti, jossa tiedosto on.

              %i     Tiedoston inode-luku (desimaalina).

              %k     Tiedoston koko 1K lohkoina (ylöspäin pyöristettynä).

              %l     Symbolisen  linkin  kohde (tyhjä merkkijono, jos tiedosto
                     ei ole symbolinen linkki).

              %m     Tiedoston käyttöoikeusbitit (oktaalilukuna).

              %n     Tiedostoon viittaavien kovien linkkien lukumäärä.

              %p     Tiedoston nimi.

              %P     Tiedoston     nimi,     josta     on     poistettu     se
                     komentoriviargumentin nimi, jonka alaisena se oli.

              %s     Tiedoston koko tavuina.

              %t     Tiedoston   viimeisin   sisällönmuutosajankohta  C-kielen
                     funktion ‘ctime’ palauttamassa muodossa.

              %Tk    Tiedoston  viimeisin  sisällönmuutosajankohta  k:n  (sama
                     kuin %A) palauttamassa muodossa.

              %u     Tiedoston  käyttäjänimi,  tai  numeerinen käyttäjätunnus,
                     jos nimeä ei ole.

              %U     Tiedoston numeerinen käyttäjätunnus.

              Merkki ‘%’ minkä tahansa muun merkin seuraamana  hylätään  (tämä
              muu merkki tulostetaan).

       -prune Jos  -depth ei ole käytössä, tosi; älä laskeudu käytössä olevaan
              hakemistoon.
              Jos -depth on käytössä, epätosi; ei vaikutusta.

       -ls    Tosi; listaa tiedosto  muodossa  ‘ls  -dils’  vakiotulosteeseen.
              Lohkolaskelmat   ovat   1K   lohkoina,  ellei  ympäristömuuttuja
              POSIXLY_CORRECT ole asetettu, missä  tapauksessa  käytetään  512
              tavun lohkoja.

   OPERAATTORIT
       Lueteltuna alenevan suoritusjärjestyksen mukaan:

       ( expr )
              Pakollinen suoritusjärjestys.

       ! expr Tosi jos expr on epätosi.

       -not expr
              Sama kuin ! expr.

       expr1 expr2
              Ja (oletus); Arvoa expr2 ei lasketa jos expr1 on epätosi.

       expr1 -a expr2
              Sama kuin expr1 expr2.

       expr1 -and expr2
              Sama kuin expr1 expr2.

       expr1 -o expr2
              Tai; Arvoa expr2 ei lasketa jos expr1 on tosi..

       expr1 -or expr2
              Sama kuin expr1 -o expr2.

       expr1 , expr2
              Lista; molemmat arvot expr1 ja expr2 lasketaan aina.  Arvo expr1
              hylätään; listan arvo on lausekkeen expr2 arvo.

ESIMERKKEJÄ

       find $HOME -print
              Listaa kaikki kotihakemistosi tiedostot ja alihakemistot.

       find $HOME -name ’*.txt’ -print
              Hae kaikki kotihakemistosi .txt-loppuiset tiedostot.

       find $HOME \! -name ’[A-Z]*’ -print
              Hae ne kotihakemistosi tiedostot,  joiden  nimi  ei  ala  isolla
              kirjaimella.

       find / -type d -name ’man*’ -print
              Etsi järjestelmän käsikirjahakemistot.

       gzip ‘find \! -name ’*.gz’ -print‘
              Etsi ja tiivistä ne aktiivisen hakemiston tiedostot, jotka eivät
              pääty .gz

       find . -size 0 -ok rm {} \;
              Poista aktiivisen hakemiston tyhjät tiedostot (kysellen).

       find . -mtime -14 -type f -print
              Etsi kahden viime viikon aikana muutetut tavalliset tiedostot.

       find / -user matti -print
              Etsi käyttäjän matti kaikki tiedostot.

KATSO MYÖS

       locate(1L) locatedb(5L) updatedb(1L) xargs(1L) Finding  Files  (on-line
       järjestelmässä Info tai tulosteena).

                              7. Huhtikuuta 1998                       FIND(1)