Skip to main content

A Linux és Unix parancsok használata

OSI protocols (Június 2026)

OSI protocols (Június 2026)
Anonim

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.

Az üzemeltetők

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 .

Példák

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.