Provided by: manpages-fi_0.2-4_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  lasken‐
        tajä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 ole‐
        tusarvo, jos operaattori puuttuu. Jos lauseke ei  sisällä  muita  toim‐
        intoja  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 lukuunot‐
               tamatta 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 -tiedos‐
               tojä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  alihakemis‐
               toilla (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  hakemis‐
               toja  (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 tiedos‐
               tojärjestelmiesi tyypit.
 
        -gid n Tiedoston numeerinen ryhmätunnus on n.
 
        -group ryhmätunnus
               Tiedosto kuuluu ryhmään ryhmätunnus (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  komento‐
               tulkin  kuviota  (shell  pattern) kuvio. Metamerkit (metacharac‐
               ters) 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 ohi‐
               tukseen; 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  ole‐
               massa).   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 käyttäjätunnus (numeerinen käyttäjätunnus sal‐
               littu).
 
        -xtype c
               Sama kuin -type ellei tiedosto ole symbolinen  linkki.   Symbol‐
               isen  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 tapauk‐
               sessa -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ä  tiedoston‐
               imellä,  joka prosessoidaan kaikkialla, missä se esiintyy komen‐
               non 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  lainaus‐
               merkkejä   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/std‐
               out’’ 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äsit‐
               televien 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  ‘strf‐
                      time’-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  kuukau‐
                              den 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öristet‐
                      tynä).
 
               %c     Tiedoston  viimeisin  tilanmuutosajankohta C-kielen funk‐
                      tion ‘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  komentoriviargu‐
                      mentin 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 kir‐
               jaimella.
 
        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.
        locate(1L) locatedb(5L) updatedb(1L) xargs(1L) Finding  Files  (on-line
        järjestelmässä Info tai tulosteena).
 
                               7. Huhtikuuta 1998                       FIND(1)