Aliases: oldfind(1), oldfind(1)
manpages-hu
Hungarian manpages
findutils
The GNU versions of find utilities (find and xargs)
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:
|
||||||||||||||
-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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-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
MAGYAR FORDÍTÁS
Horváth András <horvatha>
REFERENCED BY
dpkg-name(1), xargs(1), ippfind(1), fts(3), proc(5), hier(7), symlink(7), tar(1), xz(1), abicheck(1), aefind(1), cg(1), chase(1), gnome-search-tool(1), makeactive(8), jmtpfs(1), zip(1), , , , uudeview(1), locatedb(5), mate-search-tool(1), mkaf(1), pseudolog(1), rdfind(1), index++(1), tree(1), ftff(1), bfs(1), grep(1), scpio(1), STAR(1), mkhybrid(8), mkisofs(8), fd(1), samefile(1), fdfind(1), pycdlib-genisoimage(1), bosh(1), ustar(1)