Provided by: manpages-hu_20010119-5_all bug

NÉV

       find - fájlokat keres egy könyvtárstruktúrában

ÁTTEKINTÉS

       find [útvonal...] [kifejezés]

LEÍRÁS

       Ez a kézikönyv lap a find GNU változatát dokumentálja.

       A  find  program  a  megadott  fájloktól  induló  könyvtárfában keres a
       megadott kifejezés balról jobbra való kiértékelésével. A program  által
       figyelembe vett precedenicaszabályokat lásd az OPERÁTOROK fejezetetben.
       Mihelyt  egyértelmű,  hogy  egy  fájl  megfelel-e  a  kifejezésnek,   a
       következő  fájl  vizsgálatába kezd.  (Nem feltétlen értékeli ki tehát a
       teljes kifejezést. Pl. ha egy and kifejezés bal oldalán hamis, vagy egy
       or  kifejezés  bal  oldalán igaz feltétel van, az egyértelművé teszi az
       egész kifejezés  értékét.  Ilyenkor  a  find  nem  vizsgálja  tovább  a
       kifejezést.)

       Az  első argumentum, amely `-', `(', `)', `,', vagy `!' jellel kezdődik
       jelenti a  kifejezés  elejét.  Az  ez  előtti  argumentumokat  keresési
       útvonalaknak  veszi  a  program,  az  ez  utániakat a kifejezés további
       részeként. Ha nincs útvonal megadva, az aktuális  könyvtárból  indul  a
       keresés. Ha pedig nincs kifejezés megadva, a `-print' lesz használva.

       A  find  kilépési  állapota  0  ha minden fájlt sikeresen feldolgozott,
       nagyobb, mint 0, ha valami hiba történt.

KIFEJEZÉSEK

       A kifejezés opciókból, tesztekből és akciókból áll, melyeket operátorok
       választanak  el  egymástól. Az opciók a teljes műveletet befolyásolják,
       nemcsak egy fájlra vonatkoznak, és mindig igaz a visszatérési  értékük.
       A  tesztek  igaz és hamis értéket egyaránt visszaadhatnak. Az akcióknak
       oldalhatásuk  (side  effect)  van,  és  igaz  vagy  hamis  értékkel  is
       visszatérhetnek.

       Az   operátor   elhagyható,  ilyenkor  az  alapértelmezett  -and  kerül
       behelyettesítésre. Amennyiben  a  kifejezés  a  -prune  -on  kívül  nem
       tartalmaz  akciót,  a  -print  lesz végrehajtva minden fájlra, melyre a
       kifejezés igaz.

OPCIÓK

       Minden opció mindig igaz értéket  ad  vissza.  Mindig  hatnak,  nemcsak
       akkor,  amikor a feldolgozás eljut a helyükre. Ezért az áttekinthetőség
       kedvéért a kifejezés elejére célszerű tenni őket.

       -daystart
              Az időpontokat (-amin, -atime, -cmin, -ctime, -mmin,  és  -mtime
              esete) a mai nap kezdetétől számítja, nem 24 órával ezelőttől.

       -depth A könyvtárak feldolgozása előtt tartalmukat dolgozza fel.

       -follow
              Nem   a  szimbolikus  kötésekre  hivatkozik,  hanem  az  általuk
              mutatott fájlra. Bekapcsolja -noleaf-ot is.

       -help, --help
              Egy összegzést ír ki a find használatáról, majd kilép.

       -maxdepth levels
              Legfeljebb levels (ez egy nemnegatív szám) mélységben megy  bele
              a  könyvtárstruktúrába.  `-maxdepth  0' azt jelenti, hogy csak a
              parancssorban argumentumként megadott fájlokra kell a  teszteket
              és az akciókat végrehajtani.

       -mindepth levels
              A  levels-ben  adott  nemnegatív  egésznél kisebb mélységben nem
              alkalmaz egyetlen tesztet vagy akciót  sem.  `-mindepth  1'  azt
              jelenti,  hogy a parancssori argumentumokat nem, csak az alattuk
              levő könyvtárakat dolgozza fel.

       -mount Nem megy bele olyan alkönyvtárba, amely más fájlrendszeren  van.
              Ugyanaz,   mint  -xdev.  (Csak  kompatibilitási  okokból  került
              implementálásra.)

       -noleaf
              Nem használja  azt  a  feltevést,  hogy  a  könyvtárak  kettővel
              kevesebb  alkönyvtárat  tartalmaznak,  mint  a  kemény  kötéseik
              száma.  Erre  olyankor  van  szükség,  amikor  a  keresés  olyan
              fájlrendszeren    történik,    amelyik   nem   követi   a   Unix
              könyvtárkonvencióit, mint pl. az MS-DOS vagy a CD-ROM-ok.

       Unix alatt ugyanis minden könyvtárnak van két kemény  kötése:  a  saját
       neve  és  a  `.' bejegyzés. Továbbá, minden alkönyvtárának van egy `..'
       bejegyzése, amely rá vonatkozik. Ezért tehát a  Unix-ban  egy  könyvtár
       kemény  kötéseinek száma mindig kettővel több alkönyvtárainak számánál.
       Ennek  felhasználásával  a   keresés   Unix   rendszereken   jelentősen
       gyorsítható,   mert   a   kemény  kötések  számánál  kettővel  kevesebb
       alkönyvtár megvizsgálása után nem kell továbbiakat  keresni,  azaz  nem
       kell egy csomó másik fájlt vizsgálni, hisz azok biztosan normális, azaz
       "levél" (leaf) fájlok. Ez a feltételezés  természetesen  nem  igaz  más
       rendszerekben, így ott find kihagyhatna alkönyvtárakat.

       -version, --version
              Kiírja a verziószámot és kilép.

       -xdev  Nem  megy bele olyan alkönyvtárba, amely más fájlrendszeren van.

TESZTEK

       Numerikus argumentumok az alábbi módon adhatók meg:

       +n     nagyobb mint n,

       -n     kisebb mint n,

       n      pontosan n.

       -amin n
              A fájl utoljára n perce lett használva.

       -anewer file
              A fájl  utolsó  használata  frissebb,  mint  a  file  módosítási
              dátuma.   -anewer  -t  csak  akkor  befolyásolja a -follow, ha a
              -follow előbb szerepel a parancssorban, mint -anewer.

       -atime n
              A fájl utoljára n*24 órája lett használva.

       -cmin n
              A fájl státusza n perce lett utoljára módosítva.

       -cnewer file
              A fájl utolsó státuszmódosítása frissebb, mint a file módosítási
              dátuma.   -cnewer  -t  csak  akkor  befolyásolja a -follow, ha a
              -follow előbb szerepel a parancssorban, mint -cnewer.

       -ctime n
              A fájl státusza utoljára n*24 órája lett módosítva.

       -empty A fájl üres. (Szabályos fájlra és könyvtárra is vonatkozik.)

       -false Mindig hamis

       -fstype type
              A fájl type típusú fájlrendszeren van. Az érvényes fájlrendszer-
              típusok  a  Unix  változataitól függenek. Egy nem teljes lista a
              Unix rendszerek alatt előforduló  fájlrendszerekről:  ufs,  4.2,
              4.3,  nfs, tmp, mfs, S51K, S52K. (Linux alatt a legjellemzőbbek:
              ext2, msdos, minix, iso9660, vfat.) A -printf a %F  direktívával
              a fájlrendszer típusának megállapítására használható.

       -gid n A fájl numerikus csoportazonosítója (group ID) n.

       -group gname
              A   fájl  a  gname  csoporthoz  tartozik.  (Numerikus  érték  is
              megengedett.)

       -ilname pattern
              Ugyanaz, mint -lname,  csak  nem  tesz  különbséget  a  kis-  és
              nagybetűk között.

       -iname pattern
              Ugyanaz,  mint  -name,  csak  nem  tesz  különbséget  a  kis- és
              nagybetűk között.  Páldául a `fo*' és `F??' minták  illeszkednek
              a `Foo', `FOO', `foo', `fOo' fájlnevekhez is.

       -inum n
              A fájl inode száma n.

       -ipath pattern
              Ugyanaz,  mint  -path,  csak  nem  tesz  különbséget  a  kis- és
              nagybetűk között.

       -iregex pattern
              Ugyanaz, mint -regex,  csak  nem  tesz  különbséget  a  kis-  és
              nagybetűk között.

       -links n
              A fájlnak n kötése van.

       -lname pattern
              A  fájl  egy  szimbolikus  kötés, melynek tartalma illeszkedik a
              pattern burokmintára. A metakarakterek nem kezelik a `/'-t és  a
              `.'-t speciálisan.

       -mmin n
              A fájl adatai utoljára n perce lettek módosítva.

       -mtime n
              A fájl adatai utoljára n*24 órája lettek módosítva.

       -name pattern
              A fájlnév alapja (azaz a fájl elérési útja a bevezető könyvtárak
              nélkül) illeszkedik a pattern  burokmintához.  A  metakarakterek
              (`*',  `?'  és  `[]')  nem  illeszkednek  a fájl alapneve elején
              található  `.'-hoz.  Egy  könyvtár  és  az  alatta  levő  fájlok
              figyelmen  kívül  hagyására  a -prune használható. (Lásd a -path
              leírásánál levő példát.)

       -newer file
              A fájl frissebben lett módosítva, mint  file.   -newer  -t  csak
              akkor  befolyásolja  a  -follow,  ha  a -follow előbb szerepel a
              parancssorban, mint -newer.

       -nouser
              Nincs a fájl numerikus  felhasználói  azonosítójának  (user  ID)
              megfelelő felhasználó.

       -nogroup
              Nincs   a   fájl   numerikus  csoportazonosítójának  (group  ID)
              megfelelő csoport.

       -path pattern
              A fájlnév illeszkedik a pattern burokmintához. A  metakarakterek
              nem kezelik `/'-t és `.'-t speciálisan. Például:
                        find . -path './sr*sc'
              kinyomtat  egy  bejegyzést  a  './src/misc'  könyvtárról,  ha az
              létezik. Egy teljes  könyvtárfa  figyelmen  kívül  hagyásához  a
              -prune  használható  a  fa minden fájljának ellenőrzése helyett.
              Például  a  többi  fájl  nevének  nyomtatása  megvalósítható   a
              következő módon:
                        find . -path './src/emacs' -prune -o -print

       -perm mode
              A  fájl  engedélybitjei pontosan a mode -nak megfelelőek. A mode
              megadása lehet oktális vagy szimbolikus. Szimbolikus esetben a 0
              mód a kiindulás.

       -perm -mode
              A mode minden engedélybitje be van állítva a fájlra is.

       -perm +mode
              A mode engedélybitjeinek valamelyike be van állítva a fájlra is.

       -regex pattern
              A fájlnév  illeszkedik  a  pattern  szabályos  kifejezéshez.  Az
              illeszkedés  a  teljes elérési útra vonatkozik, nem a keresésre.
              Például egy `./fubar3' fájlhoz való illeszkedésre használható  a
              `.*bar.' vagy `.*b.*3' szabályos kifejezés, de a `b.*r3' nem.

       -size n[bckw]
              A  fájl  mérete  n  egységnyi.  Az  egység  az  512-bájtos blokk
              alapértelmezésben vagy `b' végződés esetén, bájt, ha a  végződés
              `c',  kilobájt,  ha  a végződés `k', 2-bájtos szó, ha a végződés
              `w'.

       -true  Mindig igaz.

       -type c
              A fájl c típusú, ahol a lehetséges értékek:

              b      blokkos (pufferelt) speciális eszközfájl

              c      karakteres (nem pufferelt) speciális eszközfájl

              d      könyvtár

              p      csőhálózat (named pipe, FIFO)

              f      szabályos fájl

              l      szimbolikus kötés

              s      socket

       -uid n A fájl numerikus felhasználói azonosítója (user ID) n.

       -used n
              A fájl utoljára n nappal a státusza  megváltoztatása  után  volt
              használatban.

       -user uname
              A fájl a uname felhasználó tulajdonában van. (Numerikus érték is
              megengedett.)

       -xtype c
              Ugyanaz, mint -type, hacsak nem a fájl szimbolikus kötés. Ebbean
              az   esetben:  ha  -follow  nem  adott,  akkor  igaz  az  értéke
              amennyiben a fájl egy c típusú fájlra  mutató  link;  amennyiben
              -follow  is  adott,  igaz,  ha c egyenlő `l'-lel. Más szavakkal:
              szimbolikus kötés  esetén  -xtype  annak  a  fájlnak  a  típusát
              vizsgálja, amit -type nem vizsgál.

AKCIÓK

       -exec command ;
              Végrehajtja  a  command  parancsot.  Értéke igaz, ha a parancs 0
              státuszt  ad  vissza.  A  következő   `;'-ig   a   find   minden
              argumentumát  a  parancs  argumentumának veszi. A `{}' string az
              aktuálisan feldolgozás alatt álló fájl nevével  helyettesítődik.
              Ezen   szerkezeteket   esetlegesen   meg   kell  védeni  (a  `\'
              használatával) attól, hogy a burok  kifejtese  őket.  A  parancs
              végrehajtása a kiindulási könyvtárból történik.

       -fls file
              Igaz;  ugyanaz,  mint  -ls,  csak a file-ba ír. (Az -fprint -hez
              hasonlóan.)

       -fprint file
              Igaz. A teljes fájlnevet a file fájlba írja. Amennyiben  a  file
              nem  létezik  a  find  futtatásakor, a find létrehozza, ha pedig
              létezik,  csonkolja.  A   ``/dev/stdout''   és   ``/dev/stderr''
              fájlenevket   speciálisan  kezeli:  a  szabványos  kimenetre  és
              szabványos bemenetre vonatkoznak.

       -fprint0 file
              Igaz; ugyanaz, mint -print0, csak azfile fájlba ír.  (Az -fprint
              -hez hasonlóan.)

       -fprintf file format
              Igaz; ugyanaz, mint -printf, csak azfile fájlba ír.  (Az -fprint
              -hez hasonlóan.)

       -ok command ;
              Ugyanaz, mint -exec, de  először  megkérdezi  a  felhasználót  a
              standard bemeneten. Amennyiben a válasz nem `y'-nal vagy `Y'-nal
              kezdődik, nem  futtatja  a  parancsot,  és  hamis  értékkel  tér
              vissza.

       -print Igaz;  a  fájl  teljes  nevét, majd egy újsor-jelet a szabványos
              kimenetre írja.

       -print0
              Igaz; a fájl teljes nevét, majd egy  null-karaktert  a  standard
              kimenetre  írja.   Ez  megengedi,  hogy  újsor-jelet  tartalmazó
              fájlnevek esetén  a  find  kimenetét  feldolgozó  programok  jól
              működjenek.

       -printf format
              Igaz;  a  format által megadott formátumban nyomtat a a standard
              kimenetre. Értelmezi a `\' és `%' direktívákat. Mezőszélesség és
              pontosság  a  C-beli  `printf'-fel megegyező módon adható meg. A
              -print-től eltérően -printf nem ír ki automatikusan újsorjelet a
              kimenetre. A direktívák a következők lehetnek:

              \a     Figyelmeztető csengő (alarm bell).

              \b     Fordított törtvonal (backspace).

              \c     Ezen  formátumból  való  nyomtatást  megállítja és kiírja
                     (flush) a kimenetet.

              \f     Soremelés (form feed).

              \n     Újsor (newline).

              \r     Kocsi vissza (carriage return).

              \t     Vízszintes tabulátor (horizontal tab).

              \v     Függőleges tabulátor (vertical tab).

              \\     Betű szerinti  fordított  törtvonal  (literal  backslash,
                     `\').

              Egy   `\',   majed   egy   másik  karakter  rendes  karakterként
              viselkedik, azaz mindegyik kinyomtatásra kerül.

              %%     Betű szerinti százalékjel.

              %a     A fálj utolsó elérési  ideje  a  C  `ctime'  függvényének
                     formátumában.

              %Ak    A   fálj   utolsó   elérési  ideje  a  k  által  megadott
                     formátumban.  Ez  lehet  `@',  vagy  egy  direktíva  a  C
                     `strftime'   függvényének   megfelelően.   k   lehetséges
                     értékeit a következőkben  megadjuk.  Néhány  közülük  nem
                     minden   rendszeren   elérhető  a  `strftime'  függvények
                     rendszerfüggősége miatt.

                      @      1970. január 1. 00:00 GMT óta eltelt másodpercek.

                     Időmezők:

                      H      óra (00..23)

                      I      óra (01..12)

                      k      óra ( 0..23)

                      l      óra ( 1..12)

                      M      perc (00..59)

                      p      a `locale'-nak megfelelő AM vagy PM

                      r      idő 12 órás formátumban (hh:mm:ss [AP]M)

                      S      másodperc (00..61)

                      T      idő 24 órás formátumban (hh:mm:ss)

                      X      a `locale'-nak megfelelő időjelzés (H:M:S)

                      Z      időzóna  (pl.  EDT) vagy semmi, ha az időzóna nem
                             meghatározható

                     Dátum mezők:

                      a      a `locale'-nak megfelelő rövidített  napnév  (pl.
                             Sun..Sat)

                      A      a   `locale'-nak  megfelelő  teljes  napnév  (pl.
                             Sunday..Saturday)

                      b      a `locale'-nak megfelelő rövidített hónapnév (pl.
                             Jan..Dec)

                      B      a  `locale'-nak  megfelelő  teljes  hónapnév (pl.
                             January..December)

                      c      a `locale'-nak megfelelő dátum és  idő  (pl.  Sat
                             Nov 04 12:02:33 EST 1989)

                      d      a hónap napja (01..31)

                      D      dátum (mm/dd/yy)

                      h      ugyanaz, mint b

                      j      az év napja (001..366)

                      m      hónap (01..12)

                      U      az  év  hányadik  hetéről van szó, ha vasárnappal
                             kezdjük a heteket (00..53)

                      w      a hét hányadik napja (0..6)

                      W      az év  hányadik  hetéről  van  szó,  ha  hétfővel
                             kezdjük a heteket (00..53)

                      x      a `locale'-nak megfelelő dátum (pl. mm/dd/yy)

                      y      az év utolsó két jegye (00..99)

                      Y      év (1970...)

              %b     A fájlméret 512 bájtos blokkokban (felkerekítve).

              %c     A  fájl  státuszának  utolsó  megváltoztatási  ideje  a C
                     `ctime' függvényének formátumában.

              %Ck    A fájl  státuszának  utolsó  megváltoztatási  ideje  a  k
                     formátum által megadott módon (%A-hoz hasonlóan).

              %d     A  fájl mélysége a könyvtárfában. A 0 azt jelenti, hogy a
                     fájl parancssori argumentum volt.

              %f     A fájl neve a bevezető könyvtárnevek nélkül.

              %F     A fájlrendszer neve. Ez az érték használható az  -fstype-
                     nál.

              %g     A  fájl csoportneve vagy a numerikus csoportazonosító, ha
                     nincs neve a csoportnak.

              %G     A fájl numerikus csoportazonosítója.

              %h     A teljes fájnév bevezető könyvtárnevei.

              %H     Azon parancssori argumentumok, melyek  alatt  nem  talált
                     fájlt a find.

              %i     A fájl inode száma decimálisan.

              %k     A fájl mérete 1K blokkokban (felkerekítve).

              %l     A   szimbolikus   kötés  célja.  (Üres,  ha  a  fájl  nem
                     szimbolikus kötés.)

              %m     A fájl engedélybitjei oktálisan.

              %n     A fájl kemény kötéseinek száma.

              %p     A fájl (teljes) neve.

              %P     A fájl neve azon  parancssori  argumentum  nélkül,  amely
                     alatt megtalálta a find.

              %s     A fájl mérete bájtokban.

              %t     A  fájl  utolsó módosítási ideje a C `ctime' függvényének
                     formátumában.

              %Tk    A  fájl  utolsó  módosítási  ideje  a  k  által  megadott
                     formában. (Lásd %A-nál.)

              %u     A  fájl  tulajdonosának neve, vagy numerikus felhasználói
                     azonosítója, ha nincs neve a felhasználónak.

              %U     A fájl tulajdonosának numerikus felhasználói azonosítója.

              A  `%' jel után álló bármely más karakter esetén csak a megadott
              karakter íródik ki.

       -prune Ha nincs -depth megadva, akkor igaz. Nem megy bele  az  aktuális
              könyvtárba.
              Ha -depth adott, akkor hamis és nincs hatása.

       -ls    Igaz.  listázza az aktuális fájlt `ls -dils' formában a standard
              kimenetre.  A  blokkméret  1K,  hacsak  nem  a   POSIXLY_CORRECT
              környezeti   változónak   értéket   adtunk.   Ekkor  512  bájtos
              blokkmérettel számol.

OPERÁTOROK

       Az operátorokat csökkenő precedenciasorrendben listázzuk:

       ( expr )
              Precedencia változtatás.

       ! expr Igaz, ha az expr kifejezés hamis.

       -not expr
              Ugyanaz, mint ! expr.

       expr1 expr2
              Logikai és. Nem értékeli ki expr2-t, ha expr1 hamis.

       expr1 -a expr2
              Ugyanaz, mint expr1 expr2.

       expr1 -and expr2
              Ugyanaz, mint expr1 expr2.

       expr1 -o expr2
              Logikai vagy. expr2-t nem értékeli ki, ha expr1 igaz.

       expr1 -or expr2
              Ugyanaz, mint expr1 -o expr2.

       expr1 , expr2
              Listáz. expr1 és expr2  is  mindig  kiértékelésre  kerül.  expr1
              értéke nem számít, a lista expr2 értékét adja vissza.

LÁSD MÉG

       locate(1), locatedb(5), updatedb(1), xargs(1) Finding Files (Info fájl,
       vagy nyomtatott változat)

MAGYAR FORDÍTÁS

       Horváth András <horvatha@rs1.szif.hu>

                                                                       FIND(1)