A Linux és a Unix parancs megtalálja végrehajtja a fájlok keresését a könyvtár hierarchiában.
Szintaxis a megtalálja parancs:
megtalálja útvonal … kifejezés
Leírás
Ez a kézikönyv oldal a GNU verzióját dokumentálja megtalálja . A parancs megtalálja az egyes megadott fájlneveken gyökerező címtárfára keresi az adott kifejezést balról jobbra, a precedens szabályainak megfelelően (lásd az alábbi operátorok részt), amíg az eredményt nem ismerjük; más szavakkal, a bal oldali oldal hamis és műveletek, igaz vagy , melyik ponton megtalálja a következő fájlnévre lép.
Az első argumentum, amely a következővel kezdődik:
- -
- ( vagy),
- !
a kifejezés kezdetének tekintendő; minden argumentum, mielőtt elérné a keresési útvonalakat, és az utána következő érvek a kifejezés többi része. Ha nincs megadva útvonal, akkor az aktuális könyvtárat használjuk. Ha nincs kifejezés, a kifejezés -nyomtatás használt.
A megtalálja parancs kilép a státusz 0-val, ha minden fájl sikeresen feldolgozik, nagyobb, mint 0, ha hiba történik.
kifejezések
A kifejezés olyan opciókból áll (amelyek az egész műveletet befolyásolják, nem pedig egy adott fájl feldolgozását, és mindig mindig visszaadnak), a tesztek (amelyek visszaadják az igaz vagy hamis értéket) és az akciókat (amelyeknek mellékhatásai vannak és visszatérnek egy valódi vagy hamis érték), mindegyiket operátorok választják el. A kifejezés -és feltételezzük, hogy az üzemeltető hiányzik. Ha a kifejezés nem tartalmaz más műveleteket mint -aszalt szilva , azután -nyomtatás minden olyan fájlra kiterjed, amelyre a kifejezés igaz.
Opciók
Valamennyi lehetőség mindig igaz. Mindig hatással vannak, és nem csak feldolgozásra kerülnek, amikor a kifejezés helyét elérik. Ezért az egyértelműség kedvéért célszerű a kifejezés elején elhelyezni őket.
| -daystart | Mérési idő (kb -amin, -atime, -cmin, -tim, -mmin, és -mtime ) a mai naptól kezdve, nem pedig 24 órával ezelőtt. |
| -mélység | Minden könyvtár tartalmának feldolgozása a könyvtár előtt. |
| -kövesse | Dereferencia szimbolikus linkek. azt jelenti, -noleaf . |
| -Segítség vagy --Segítség | Nyomtassa ki a parancssori használatának összefoglalóját megtalálja és kilép. |
| -maximális mélység szám | Legfeljebb a parancssori argumentumok alatti könyvtárak szintjének (nem negatív egészének) lejtése. A kifejezés -maxdepth 0 csak a teszteket és műveleteket alkalmazza a parancssori érvekre. |
| -mindepth szám | Ne alkalmazzon semmilyen tesztet vagy műveletet a számnál kisebb szinteken (nem negatív egész szám). A kifejezés -mindepth 1 az összes fájlt feldolgozza, kivéve a parancssori argumentumokat. |
| -hegy | Ne engedje le a könyvtárakat más fájlrendszereken. Alternatív név -xdev , az egyéb verziókkal való kompatibilitás érdekében megtalálja . |
| -noleaf | Ne optimizálja úgy, hogy a könyvtárak 2 kisebb alkönyvtárat tartalmaznak, mint a keményláncok száma. * |
| -változat vagy --változat | Nyomtassa ki a megtalálja verziószám és kilépés. |
| -xdev | Ne engedje le a könyvtárakat más fájlrendszereken. |
* Ez az opció akkor szükséges, ha olyan fájlrendszereket keres, amelyek nem követik a Unix könyvtár-link konvenciót, például a CD-ROM vagy MS-DOS fájlrendszereket vagy az AFS kötet-csatolási pontokat. Minden normál Unix fájlrendszeren található könyvtár legalább 2 kemény hivatkozást tartalmaz: a neve és a neve. (periódus) bejegyzést. Emellett az alkönyvtárai (ha vannak) mindegyikük rendelkezik. az adott könyvtárhoz kapcsolódó bejegyzést.
Amikor megtalálja megvizsgálja a könyvtárat, miután két kisebb alkönyvtárba rendelt, mint a könyvtár hivatkozási számát, tudja, hogy a könyvtárban szereplő bejegyzések nem könyvtárak ( levél növényen fájlok a könyvtárfában). Ha csak a fájlok nevét kell megvizsgálni, nincs szükség statisztikákra; ez jelentősen növeli a keresési sebességet.
vizsgálatok
A numerikus argumentumok meghatározhatók:
| + n | Több mint n. |
| -n | Kevesebb mint n. |
| n | Pontosan n. |
| -amin n | A fájlt legutoljára elérte n perccel ezelőtt. |
| -anewer fájl | A fájlt legutóbb az utóbbi időben érte el fájl módosították. - az új változatot csak akkor követi, ha - a követés előbb - újból a parancssorban van. |
| -matime n | A fájlt legutoljára elérte n * 24 órával ezelőtt. |
| -cmin n | A fájl állapota utoljára megváltozott n perccel ezelőtt. |
| -cnewer fájl | A fájl állapota legutóbb megváltozott, mint a fájl módosítása.- cnewer befolyásolja -kövesse csak ha -kövesse előtte jön -cnewer a parancssorban. |
| -negyed n | A fájl állapota utoljára megváltozott n * 24 órával ezelőtt. |
| -üres | A fájl üres és rendszeres fájl vagy könyvtár. |
| -hamis | Mindig hamis. |
| -fstype típus | A fájl meghatározott típusú fájlrendszeren van. Az érvényes fájlrendszer típusai különböznek a Unix különböző verziói között; a Unix valamelyik verzióján elfogadott fájlrendszertípusok hiányos listája: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Használhatja a -printf-t a% F direktíva segítségével, hogy megtekinthesse a fájlrendszerek típusát. |
| -gid n | A fájl numerikus csoportazonosítója n . |
| -group gname | A fájl a gname csoporthoz tartozik (engedélyezett numerikus csoport azonosítója). |
| -név minta | Mint a -lname, de a meccsen a kis-és nagybetűk nem érzékenyek. |
| -iname minta | Mint -név , de a meccsen az eset nem érzékeny. Például a minták fo * és F ?? egyezik a fájlnevekkel foo , FOO , ize , foo , stb. |
| -inum n | A fájlnak van inode száma n . |
| -apat minta | Mint -pálya , de a meccsen az eset nem érzékeny. |
| -iregex minta | Mint a -regex, de a meccsen az eset nem érzékeny. |
| -links n | A fájlnak van n linkeket. |
| -neve minta | A fájl egy szimbolikus link, amelynek tartalma egyezik a shell mintával. A metakarakterek nem kezelik / vagy . különösen. |
| -mmin n | A fájl adatai utolsó módosításra kerültek n perccel ezelőtt. |
| -mtime n | A fájl adatai utolsó módosításra kerültek n * 24 órával ezelőtt. |
| -name minta | A fájlnév alapja (az eltávolított vezető könyvtárak elérési útvonala) illeszkedik a shell mintához. A metakarakterek (*, ?, és ) nem felel meg a . az alapnév kezdetén. Ha figyelmen kívül hagyja a könyvtárat és a benne lévő fájlokat, használja -aszalt szilva ; lásd egy példát a leírásban -pálya . |
| -newer fájl | A fájlt a közelmúltban módosították, mint fájl . A kifejezés -newer befolyásolja -kövesse csak ha -kövesse előtte jön -newer a parancssorban. |
| -nouser | Egyetlen felhasználó sem felel meg a fájl számszerû felhasználói azonosítójának. |
| -nogroup | Nincs olyan csoport, amely megfelel a fájl numerikus csoportazonosítójának. |
| -path minta | A fájlnév illeszkedik a shell mintához minta . A metakarakterek nem kezelik / vagy . különösen; így például,megtalálja . -path './sr*sc fog kinevezni egy bejegyzést a ./src/misc nevű könyvtárhoz (ha van ilyen). Ha figyelmen kívül hagy egy teljes könyvtárfát, akkor használja -aszalt szilva nem pedig minden fájlt a fában. Például, ha kihagyja a könyvtár src / emacs és az összes fájlt és könyvtárat, és kinyomtatja a talált fájlok nevét, tegyen valami ilyesmit:megtalálja . -path './src/emacs' -prune -o -print |
| -perm mód | A fájl engedélyezési bitjei pontosan mód (oktális vagy szimbolikus). A szimbolikus módok az 0-as módot használják kiindulási pontként. |
| -perm módban | Minden engedély bit mód vannak beállítva a fájlhoz. |
| -perm + mód | Bármely engedélyezési bit mód vannak beállítva a fájlhoz. |
| -regex minta | A fájlnév megfelel a rendszeres kifejezésnek minta . Ez egyezés az egész úton, nem pedig keresés. Például a ./fubar3 nevű fájlhoz való illesztéshez használhatja a szabályos kifejezést .*bár. vagy . * B. * 3, de nem b. * r3. |
| -size n bckw | Fájlhasználat n egységek térben. Az egységek alapértelmezés szerint 512 byte-os blokkok, vagy ha b követ n , bájt, ha c követi n , kilobájt, ha k követ n , vagy 2 bájtos szó, ha a w követi n . A méret nem számít közvetett blokkokat, de a kevés formátumú fájlok blokkolását nem számolják el. |
| -igaz | Mindig igaz. |
| c | A fájl típusa c : |
| b | Blokk (pufferelt) speciális |
| c | Karakter (nem pufferelt) különleges |
| d | Könyvtár |
| p | Nevezett cső (FIFO) |
| f | Rendszeres fájl |
| l | Szimbolikus kapcsolat |
| s | Foglalat |
| D | ajtó (Solaris) |
| -vagy n | A fájl numerikus felhasználói azonosítója n . |
| -használta n | A fájlt legutoljára elérte n nappal az utolsó módosítás után. |
| -használó egyént | A fájl tulajdonosa a felhasználó uname (numerikus felhasználói azonosító engedélyezett). |
| -xtype c | Ugyanaz, mint a -típus hacsak a fájl szimbolikus link. Szimbolikus linkek esetén: ha -kövesse nem adta meg, igaz, ha a fájl egy típusú fájlhoz kapcsolódik c ; ha -kövesse kapott, igaz, ha c l. Más szavakkal, szimbolikus linkek esetén, -xtype ellenőrzi a fájl típusát -típus nem ellenőrzi. |
Hozzászólások
-exec parancs ;
kivégez parancs ; igaz, ha a 0 állapot visszakerül. Az összes következő érvmegtalálja az argumentumokat kell a parancsnak adni, amíg egy argumentum nem áll: ";" találkozik. A {{} karakterláncot az aktuális fájlnév váltja fel, amelyet mindenütt a parancs argumentumaiban jelenítenek meg, nem csak az érvekben, ahol egyedül van, mint amegtalálja. Mindkét konstrukciót meg kell szüntetni ('') vagy idézőjelekkel, hogy megóvja őket a héj kiterjesztésétől. A parancs a kezdő könyvtárban fut.
-fls fájl
Igaz; mint a -ls, de írni fájl mint a -fprint.
-fprint fájl
Igaz; nyomtassa ki a teljes fájlnevet a fájlba fájl . Ha fájl nem létezik mikormegtalálja fut, létrejön; ha létezik, akkor csonka. A `` / dev / stdout '' és `` / dev / stderr '' fájlneveket speciálisan kezelik; ezek a szabványos kimenetre és a standard hiba kimenetre vonatkoznak.
-fprint0 fájl
Igaz; mint a -print0, de írni fájl mint a -fprint.
-fprintf fájl formátum
Igaz; mint a -printf, de írni fájl mint a -fprint.
-rendben parancs ;
Mint -exec, de először kérdezze meg a felhasználót (a standard bemeneten); ha a válasz nem kezdődik "y" vagy "Y" -al, akkor ne futtassa a parancsot, és adja vissza a false értéket.
-nyomtatás
Igaz; nyomtassa ki a teljes fájlnevet a szabvány kimeneten, majd kövesse az új sor.
-print0
Igaz; nyomtassa ki a teljes fájlnevet a szabványos kimeneten, majd egy null karaktert.Ez lehetővé teszi az új sorokat tartalmazó fájlneveket, amelyeket a programokat feldolgozó programok helyesen értelmeznekmegtalálja kimenet.
-printf formátum
Igaz; nyomtatás formátum a szabványos kimeneten, a ` 'escape és a`%' direktívák értelmezésével. A mezők szélessége és pontossága megadható a `printf 'C függvénynek megfelelően. A -print-vel ellentétben a -printf nem ad új sort a string végére. Az elkerülések és az irányelvek a következők:
a
Vészcsengő.
b
Backspace.
c
Állítsa le azonnal a nyomtatást ebből a formátumból és öblítse ki a kimenetet.
f
Form feed.
n
Új sor.
r
Kocsi vissza.
t
Vízszintes fül.
v
Függőleges lap.
\
Szó szerinti visszafordulás (` ').
NNN
Az a karakter, amelynek ASCII kódja NNN (oktális).
A ` 'karaktert, amelyet bármelyik karakter követ, rendes karakterként kezelik, így mindkettő nyomtatódik.
%%
Szóbeli százaléka.
% a
A fájl utolsó hozzáférési ideje a C `ctime 'függvény által visszaadott formátumban.
% A k
A fájl utolsó elérési ideje a megadott formátumban k , ami vagy a "@" vagy a C `strftime 'függvényre vonatkozó irányelv. A lehetséges értékek a k az alábbiakban felsoroltak; egyes esetekben előfordulhat, hogy nem minden rendszerben rendelkezésre állnak, mivel a rendszerek közötti "strftime" különbségek miatt.
@
másodperc óta 1970. január 1., 00:00 GMT.
Időmezők:
H
óra (00..23)
én
óra (01..12)
k
óra (0..23)
l
óra (1..12)
M
perc (00..59)
p
locale AM vagy PM
r
idő, 12 óra (hh: mm: ss AP M)
S
második (00..61)
T
idő, 24 óra (hh: mm: ss)
x
locale időbeli ábrázolása (H: M: S)
Z
időzónát (például EDT), vagy semmit, ha nincs meghatározható időzóna
Dátummezők:
egy
locale rövidített hétköznapja (Sun..Sat)
A
locale teljes naptári neve, változó hossza (vasárnap … szombat)
b
locale rövidített neve (Jan..Dec)
B
locale teljes havi neve, változó hossza (január … december)
c
locale dátum és idő (szo. nov. 04 12:02:33 EST 1989)
d
nap a hónapban (01..31)
D
dátum (mm / dd / év)
h
ugyanaz, mint a b
j
nap (001..366)
m
hó (01..12)
U
hetes évszám vasárnap a hét első napján (00..53)
w
a hét napja (0..6)
W
heti évszám hétfővel a hét első napján (00..53)
x
locale dátumának ábrázolása (mm / dd / yy)
y
az év utolsó két számjegye (00..99)
Y
év (1970 …)
b%
A fájl mérete 512 byte-os blokkokban (felfelé kerekítve).
% c
A fájl utolsó állapotváltozási ideje a C `ctime 'függvény által visszaadott formátumban.
% C k
A fájl utolsó állapotváltozási ideje a megadott formátumban k , ami ugyanaz, mint a% A esetében.
% d
A fájl mélysége a könyvtárfában; 0 azt jelenti, hogy a fájl parancssori argumentum.
% f
A fájl neve bármelyik vezető könyvtárral eltávolítva (csak az utolsó elem).
% F
A fájlrendszer típusa, amelyen a fájl be van kapcsolva; ez az érték használható -fstype-hez.
% g
A fájl csoportjának neve vagy numerikus csoport azonosítója, ha a csoportnak nincs neve.
% G
A fájl numerikus csoportazonosítója.
% h
A fájlnevek vezető könyvtárai (az összes, csak az utolsó elem).
% H
Parancssor argumentum, amelyen a fájl megtalálható.
%én
A fájl inode száma (decimális).
% k
A fájlméret 1K blokkban (felfelé kerekítve).
% l
A szimbolikus link objektuma (üres karakterlánc, ha a fájl nem szimbolikus link).
% m
A fájl engedélyezési bitjei (oktálisan).
% N
A fájlokhoz való kemény hivatkozások száma.
% p
A fájl neve.
% P
A fájl neve annak a parancssori argumentumnak a nevével, amelyen megtalálta.
% s
A fájl mérete bájtban.
% t
A fájl utolsó módosítási ideje a C `ctime 'függvény által visszaadott formátumban.
% T k
A fájl utolsó módosítási ideje a k , ami ugyanaz, mint a% A esetében.
% u
A fájl felhasználói neve vagy numerikus felhasználói azonosítója, ha a felhasználónak nincs neve.
% U
A fájl számszerű felhasználói azonosítója.
A "%" karakter, amelyet bármely más karakter követ, elvetik (de a másik karakter nyomtatódik).
-aszalt szilva
Ha -depth nem adódik, igaz; ne engedje le az aktuális könyvtárat.Ha a -depth, hamis; hatástalan. -ls Igaz; az aktuális fájl az "ls -dils" formátumban jelenik meg a szabványos kimeneten. A blokkszámlálás 1K blokk, kivéve, ha a POSIXLY_CORRECT környezeti változó be van állítva, ebben az esetben 512 bájtos blokkok használatosak. A csökkenő sorrend sorrendjében felsorolva: ( expr ) Erővel elsőbbséget. ! expr Igaz, ha expr hamis. -nem expr Ugyanaz, mint a ! expr . expr1 expr2 És (hallani); kif2 nem értékelik, ha kif1 hamis. kif1 -a kif2 Ugyanaz, mint a expr1 expr2 . kif1 -és kif2 Ugyanaz, mint a expr1 expr2 . kif1 -o kif2 Vagy; kif2 nem értékelik, ha kif1 igaz. kif1 -vagy kif2 Ugyanaz, mint a kif1 -o kif2 . kif1 , kif2 Lista; mindkét kif1 és kif2 mindig értékelik. Az értéke kif1 el kell dobni; a lista értéke a kif2 . find / home -használó joe
Keressen minden fájlt a felhasználó joe tulajdonában lévő könyvtárban / házban. find / usr -name * stat
Keressen minden fájlt a / usr könyvtár alatt a ".stat" -ban. találja a / var / spool -mtime +60-at
Keressen minden fájlt a / var / spool könyvtár alatt, amelyet több mint 60 napja módosított. find / tmp -name core -type f -print | xargs / bin / rm -f
Megnevezett fájlok keresésemag a könyvtárban vagy az alatt/ tmp és törölje őket.Ne feledje, hogy ez helytelenül működik, ha vannak olyan új fájlnevek, egysoros vagy kettős idézőjelek vagy szóközöket tartalmazó fájlnevek. find / tmp -name core -type f -print0 | xargs -0 / bin / rm -f
Megnevezett fájlok keresésemag a könyvtárban vagy az alatt/ tmp és törölje azokat, feldolgozza a fájlneveket oly módon, hogy az egyes vagy kettős idézőjeleket, szóközöket vagy új sorokat tartalmazó fájl- vagy könyvtárneveket megfelelően kezeljék. A-név teszt jön a-típus hogy elkerülje a híváststat (2) minden fájlt. megtalálja . -type f -exec fájl '{}' ;
Fájlokat futtat minden aktuális könyvtárban vagy alatt. Vegyük észre, hogy a zárójelek egyenkénti pontozási jelekkel vannak ellátva, hogy megvédjék őket az értelmezéstől a shell parancs írásjeleként. A pontosvesszőt ugyanúgy védik a visszafordulás használata, bár ";" ebben az esetben is lehetett volna használni. / (-perm -4000 -fprintf /root/suid.txt '% # m% u% p n' ), (-size + 100M -fprintf /root/big.txt '% -10s% p n' )
A fájlrendszert csak egyszer nyithatja meg, a setuid fájlokat és könyvtárakat/root/suid.txt és nagy fájlokat/root/big.txt. találja meg a $ HOME -mtime 0 értéket
Keressen olyan fájlokat a saját könyvtárában, amelyek az elmúlt 24 órában módosultak. Ez a parancs azért működik, mert az egyes fájlok legutóbbi módosítása óta eltelt idő 24 órával van elosztva, és a fennmaradó részeket elvetik. Ez azt jelenti, hogy megfeleljen-mtime 0, egy fájlnak módosítania kell a múltban, ami kevesebb, mint 24 órája. megtalálja . -perm 664
Olyan fájlokat keres, amelyek olvasó és író engedélyt kaptak tulajdonosuk és csoportjuk számára, de amelyeket más felhasználók olvashatnak, de nem írnak. Azok a fájlok, amelyek megfelelnek ezeknek a kritériumoknak, de más jogosultsági biteket tartalmaznak (például ha valaki végrehajthatja a fájlt), nem illeszkednek egymáshoz. megtalálja . -perm -664
Olyan fájlokat kereshet, amelyek olvasó és író engedélyt kapnak tulajdonosa és csoportja számára, és amelyeket más felhasználók is olvashatnak, tekintet nélkül az extra engedélyezési bitek (például a végrehajtható bit) jelenlétére. Ez megegyezik például a 0777-es módú fájlokkal. megtalálja . -perm / 222
Keressen olyan fájlokat, amelyeket valaki (tulajdonosa, csoportja vagy bárkinek) írhat. megtalálja . -perm / 220 megtalálja . -perm / u + w, g + w megtalálja . -perm / u = w, g = w
Mindhárom parancs ugyanazt teszi, de az első a fájl mód oktális ábrázolását használja, a másik kettő a szimbolikus formát használja. Ezek a parancsok olyan fájlokat keresnek, amelyeket tulajdonosuk vagy csoportjuk írhat. A fájlok nem kell mind a tulajdonos, mind a csoport számára írhatóak; vagy fog tenni. megtalálja . -perm -220 megtalálja . -perm -g + w, u + w
Mindkét parancs ugyanazt teszi; olyan fájlok keresésére, amelyeket tulajdonosa és csoportja írhat. megtalálja . -perm -444 -perm / 222! -perm / 111 megtalálja . -perm -a + r -perm / a + w! -perm / a + x
Ez a két parancs mindkettő számára olvasandó fájlokat (-perc -444 vagy -perm -a + r) tartalmaz, legalább írási bit-készleten (-perm / 222 vagy -perm / a + w), de nem végrehajtható bárki számára (! -perm / 111 és! -perm / a + x) Fontos: Használja a Férfi parancs ( % Férfi ), hogy lássa, hogyan használják a parancsot az adott számítógépen.Az üzemeltetők
Példák




