Content
Data
License: GNU GPLv3 +
Version number: 4.6.0 (in DEbian 10)
Developer / owner: Free Software Foundation, Inc.
Short description:
Manual page and help for the find linux command. The find program searches the directory tree starting from the specified files by evaluating the specified expression from left to right. See the OPERATORS section for the precedent rules considered by the program. As soon as it is clear whether a file matches the expression, it starts examining the next file. (So it doesn't necessarily evaluate the whole expression. For example, if there is a false condition to the left of an and expression or a true condition to the left of an or expression, it makes the value of the whole expression clear. In this case, find does not examine the expression further.)
The first argument, which is `- ',` (', `) ',`,', or `! ' begins with the beginning of the expression. Arguments before this are taken as search paths, after them as the rest of the expression. If no path is specified, the search starts from the current directory. And if no expression is specified, `-print 'will be used.
Man page output
man find
FIND(1) General Commands Manual FIND(1)
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)
Help output
find --help
Usage: find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path...] [expression]
az alapértelmezett útvonal az aktuális könyvtár; az alapértelmezett kifejezés -print, kifejezés lehet:
operátorok, kapcsolók, tesztek és tevékenységek:
operátorok (csökkenő precedencia; alapértelmezett -and, ha nincs más megadva):
( KIF ) ! KIF -not KIF KIF1 -a KIF2 KIF1 -and KIF2
KIF1 -o KIF2 KIF1 -or KIF2 KIF1 , KIF2
helyzetérzékeny kapcsolók: (mindig igaz) -daystart -follow -regextype
normál kapcsolók (mindig igaz, más kifejezések előtt adandó meg):
-depth --help -maxdepth SZINTEK -mindepth SZINTEK -mount -noleaf
--version -xdev -ignore_readdir_race -noignore_readdir_race
Tesztek (Az N +N, -N vagy N lehet): -amin N -anewer FILE -atime N -cmin N
-cnewer FÁJL -ctime N -empty -false -fstype TÍPUS -gid N -group NÉV
-ilname MINTA -iname MINTA -inum N -ipath MINTA -iregex MINTA
-links N -lname MINTA -mmin N -mtime N -name MINTA -newer FÁJL
-nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN
-readable -writable -executable
-wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
-used N -user NAME -xtype [bcdpfls] -context KONTEXTUS
actions: -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print
-fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
-exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
-execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;
Valid arguments for -D:
exec, opt, rates, search, stat, time, tree, all, help
Use '-D help' for a description of the options, or see find(1)
Please see also the documentation at http://www.gnu.org/software/findutils/.
You can report (and track progress on fixing) bugs in the "find"
program via the GNU findutils bug-reporting page at
https://savannah.gnu.org/bugs/?group=findutils or, if
you have no web access, by sending email to <bug-findutils@gnu.org>.
Related Content
- 106 views