Linux eta Unix komandoen bidez: bilatu

Linux eta Unix komandoak bilaketak fitxategi direktorio batetan exekutatzen ditu direktorio hierarkian.

Sintaxia aurkitzeko komandoa:

aurkitu [bidea ...] [adierazpena]

deskribapena

Eskuliburu honetako orrialdeak aurkituko du GNUren aurkibidearen bertsioa. Komandoak bilaketa-izen bakoitzeko errotulatutako zuhaitz-bilaketa bilatzen du ezkerreko eskuineko emandako adierazpena ebaluatuz, lehentasunezko arauen arabera (ikusi beheko operadoreen atala), emaitza ezaguna den arte; Beste era batera esanda, ezkerrekoa faltsua da eta eragiketak, egia ala ez , zein unetan aurkitzen diren hurrengo fitxategiaren izenari mugitzen zaizkionak.

Lehenengo argumentua hasten da:

adierazpenaren hasieran hartu behar da; Edozein argumentu bilakatzeko bideak baino lehen, eta beste argumentu batzuk ondorengoak dira. Bideak ez badira, uneko direktorioa erabiliko da. Espresiorik ez badago, adierazpena -print erabiltzen da.

Aurkitu komandoa 0 egoerarekin amaituko da fitxategi guztiak arrakastaz prozesatzen badituzu, 0 baino handiagoa bada akatsak gertatzen badira.

Expressions

Espresioa aukerak (eragiketa orokorra eragiten diena, fitxategi zehatz baten prozesua eragiten du, eta beti egia itzultzen du), probak (benetako edo gezurrezko balioa itzultzen dutenak) eta ekintzak (albo-ondorioak dituztenak eta benetako edo faltsua balioa), eragile guztiek bereizita. Espresioa -eta operadoreak bertan behera uzten duen tokian suposatzen da. Espresioak ez badu beste ekintzarik hartzen, baldin eta adierazpena egia den adierazpenean egiten bada.

Aukerak

Aukera guztiak egia bihurtzen dira beti. Eraginkorra izaten dute beti, adierazpenaren tokian iristen direnean bakarrik prozesatu baino. Hori dela eta, argitasunari dagokionez, hobe da espresioaren hasieran jartzea.

-daystart Measure times (for -amin, -atime, -cmin, -ctime, -mmin eta -mtime ) gaur hasieratik orain dela 24 ordu baino.
-depth Zuzenbide direktorioaren aurretik direktorio bakoitzaren edukiak prozesatu.
-follow Dereerra lotura sinbolikoak. Inplizituak -noleaf .
-help edo --help Inprimatu bilaketa eta irteera komando lerroaren laburpen bat inprimatu.
-Maxdepth [number] Komando lerroko argumentuen azpiko direktorioak gehiengoak (koma ez negatiboak) jaitsi. Esanahia -maxdepth 0 esan nahi du probak eta ekintzak komando lerroko argumentuetan bakarrik aplikatzea.
-infoaren [zenbakia] Ez aplikatu probak edo ekintzak kopurua baino gutxiago duten mailetan (zenbaki negatibo bat). Esanahia-sakonean 1 esan nahi du prozesu guztiak fitxategi komando lerroko argumentuak izan ezik.
-mount Ez deskargatu direktorioak beste fitxategi sistemetan. Izenburu alternatibo bat -xdev bilaketen beste bertsio batzuetarako bateragarritasunerako.
-noleaf Ez optimizatu direktorioak 2 azpiadministratzaile gutxiago dituztela euren lotura estua baino. *
-bertsioa edo -version Inprimatu aurkitu bertsioaren zenbakia eta irten.
-xdev Ez deskargatu direktorioak beste fitxategi sistemetan.

* Aukera hau beharrezkoa da Unix direktorioaren esteken konbentzioaren jarraipena egiten ez duten fitxategi sistemen bilaketan, adibidez, CD-ROM edo MS-DOS fitxategi sistemen edo AFS bolumenaren muntatze puntuak. Unix fitxategi sistemaren direktorio bakoitzak gutxienez 2 lotura estupor ditu: bere izena eta haren izena . (epea) sarrera. Horrez gain, bere azpidirektorioak (baldin badago), bakoitzak direktorio bat estaltzen duen sarrera bat dauka.

Direktorio bat aztertzen ari denean, direktorioak gutxi gorabeherako direktorio baten estekak baino gutxiago dituen bi direktorio lortu ondoren, badaki direktorioaren sarrerak gainerako direktorioa ez direnak ( hosto fitxategiak direktorioko zuhaitzean). Fitxategien izenek bakarrik aztertu behar badituzu, ez da beharrezkoa haiek eskatzea; Horrek bilaketa-abiadura handitu egiten du.

probak

Zenbakizko argumentuak honela zehaztu daitezke:

+ n N baino handiagoa .
-n N baino gutxiago .
n Zehazki n.
-amin n Fitxategia azken aldiz sartu da duela minutu n ago.
-artikulua [fitxategia] Fitxategia azkenaldian sartu da azken fitxategia baino gehiago aldatu da. -erabiltzaileak kaltetutakoak dira -segurtasunik ez bada -segua datorren aurretik -menu komando lerroan.
-atime n Fitxategia azken aldiz sartu zen n * duela 24 ordu.
-cmin n Fitxategiaren egoera azkenengoz aldatu da duela minutu.
-cnewer [fitxategia] Fitxategiaren egoera azkenaldian aldatu da fitxategia baino lehenago aldatu da.
- Cnewer- ek kaltetutakoan bakarrik jarraitzen badu -segua aurretik datorrena- komando lerroan berriagoa .
-egitea n Fitxategiaren egoera azken aldagaia aldatu da n * duela 24 ordu.
-empty Fitxategia hutsik dago eta fitxategi arrunta edo direktorio bat da.
-Gezurra Beti faltsua.
-fstype [mota] Fitxategia zehaztutako motako fitxategi sisteman dago. Baliozko fitxategi sistema motak Unix bertsio desberdinen artean alda daitezke; Unix edo beste bertsio batzuetan onartutako fitxategi-sistemen zerrenda osatu gabe dago: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Erabili -printf% F zuzentarauaren bidez zure fitxategi sistemen motak ikusteko.
-gid n Fitxategiaren zenbakizko taldearen IDa n .
-group [gname] Fitxategia taldeko gname dagokio (zenbakizko taldearen IDa onartua).
-fitxategia [eredua] Izen-abizenak, baina partida ez da bereizgarria.
-iname [eredua] Like -name , baina partida ez da bereizgarria. Esate baterako, fo * eta F ereduak ? Foo , FOO , foo , fOo , eta abar izenekin bat dator .
-norua n Fitxategiak nodoaren zenbakia du.
-path [eredua] Bideoa gustatzen zaio, baina partida ez da bereizgarria.
-iregex [eredua] Erregeak bezala, baina partida ez da bereizgarria.
loturak n Fitxategiak n estekak ditu.
-lokea [eredua] Fitxategia esteka sinboliko bat da, zeinaren edukiak shell eredua betetzen duen. Metaketak ez dituzte tratatzen / edo . bereziki.
-mmin n Fitxategiaren datuak azken aldiz aldatu da orain dela n minutuan.
-mehia n Fitxategiaren datuak azken aldiz aldatu da n * duela 24 ordu.
-izena [eredua] Fitxategi izenaren oinarria (kendutako direktorio nagusien bideoa) shell ereduarekin bat dator. Metalizatzaileak ( * , ? , Eta [] ) ez datoz bat . oinarri-izenaren hasieran. Direktorio bat eta haren azpiko fitxategiak baztertzeko, erabili ezazu -prune ; ikus adibide bat -path -aren deskribapenean.
-newer [file] Fitxategia fitxategi berriagoan aldatu da. Adierazpena -ihardzailea kaltetuta dago -segurtzen bada bakarrik -segua datorren aurretik- beste komando lerroan.
-nouser Erabiltzaileak ez du fitxategiaren erabiltzailearen identifikazio zenbakiarekin bat egiten.
-nogroup Taldeak ez du fitxategiaren zenbakizko taldearen IDari dagokio.
-path [eredua] Fitxategiaren izenarekin datorren shell ereduaren eredua . Metaketak ez dituzte tratatzen / edo . bereziki; beraz, adibidez, aurkitu. -path './srSsc izeneko sarrera bat inprimatuko du ./src/misc (existitzen bada). Zuhaitz direktorio osoa alde batetara utzi, erabili zuhaitzan fitxategi bakoitza egiaztatzea baino. Adibidez, direktorioaren src / emacs eta fitxategi eta direktorio guztiak saltzeko azpian, eta beste fitxategi batzuen izenak inprimatzeko, egin hau: bilatu. -path './src/emacs' -prune -o -print
-perm [modua] Fitxategiaren baimenak bitan daude [modua] (zutala edo sinbolikoa). Modu sinbolikoek modu 0 irteera moduan erabiltzen dute.
-perm-modua Baimen-bit guztiak [modua] ezarri dira fitxategira.
-perm + modua Baimenen bitak [modua] ezarri dira fitxategira.
-regex [eredua] Fitxategiaren izena bat dator adierazpen erregularraren ereduarekin . Bide osoa bat dator, ez bilaketa bat. Adibidez, ./fubar3 izeneko fitxategiarekin bat etortzeko, adierazpen erregularra erabil dezakezu *. edo . * b. * 3 , baina ez b. * r3 .
-size n [bckw] Fitxategiak n espazio unitateak erabiltzen ditu. Unitateak 512 byte blokeoak dira lehenespenez edo b jarraitzen du n , byte bada c jarraitzen n , kilobytes k jarraitzen du n , edo 2 byte hitzekin w jarraitzen badu n . Tamaina ez da zeharkako blokeak zenbatzen, baina blokeak ez dira benetan esleitu ez diren fitxategi txikietan.
-true Egia beti.
c motakoa Fitxategia c motakoa da:
b Blokeatu (buffered) berezia
c Karakterea (unbuffered) berezia
d Directory
p Kanpo izendatua (FIFO)
f Fitxategi erregularra
l Lotura sinbolikoa
s socket
D atea (Solaris)
-Nik ez Fitxategiaren zenbakizko erabiltzailearen IDa n .
-erabilitako n Fitxategia azken aldiz sartu da n egunetan bere egoera azken aldatutakoan.
-erabiltzaile bat Fitxategia erabiltzailearen identitatearen jabetzakoa da (zenbakizko erabiltzaileen IDa onartzen da).
c-motakoa c Teklatu berdina fitxategi esteka sinbolikoa bada. Esteka sinbolikoetarako: baldin badago-eman ez bada, egia fitxategia c motako fitxategi batera esteka bada; baldin eta eman bada, egiazkoa c bada. Beste era batera esanda, lotura sinbolikoetarako,
-xtype- motak ez du egiaztatzen duen fitxategi- mota .

Ekintzak

-exec komandoa ;

Exekutatu komandoa ; true 0 egoera itzuli bada. Ondorengo argumentuek komandoaren argumentuak izaten dituzte komandoa; ';' aurkitzen da. "{}" Katea ordezkatuko da komandoaren argumentuetan gertatzen den uneko fitxategiaren izena, ez bakarrik aurkitzen diren argumentuetan, aurkitutako bertsio batzuetan bezala. Bi eraikuntza horiek ihes egin beharra izan behar dute (`\ ') edo kotizatzen dute shellaren hedapenetik babesteko. Komandoak hasierako direktorioan exekutatzen du.

-fls fitxategia

egia; bezalako -ls baina fitxategian bezala idatzi -fprint.

-Print fitxategia

egia; Inprimatu fitxategi izen osoa fitxategi- fitxategian . Fitxategia existitzen ez denean aurkitzen da exekutatzen denean, sortzen da; Bada existitzen bada, trunkatua dago. '`/ Dev / stdout' 'eta` `/ dev / stderr' 'izeneko fitxategiak bereziki kudeatzen dira; Irteera estandarrari eta errorearen irteera estandarrari dagokie, hurrenez hurren.

-fprint0 fitxategia

egia; like -print0 baina idatzi fitxategi- like bezala.

-fprintf fitxategi formatua

egia; bezalako -printf baina fitxategian bezala idatzi -fprint.

-ez agindua ;

Gustatzen zaizu -exec baina galdetu lehenengo erabiltzaileari (sarrera estandarrean); erantzuna ez bada `y 'edo' Y 'rekin hasten bada, ez ezazu komandoa exekutatu, eta itzuli faltsua.

-print

egia; inprimatu irteera estandarraren fitxategi-izen osoa, lerro berri bat jarraituz.

-print0

egia; inprimatu irteera estandarraren fitxategi-izen osoa, karaktere null bat jarraituz. Horrek aukera ematen du irteerako irteera prozesatzen duten programek behar bezala interpretatzen dituzten lerro berriak dituzten fitxategien izenak.

-printf formatua

egia; Inprimatu formatua irteera estandarrean, `\ 'ihesi eta`%' zuzentarau interpretatuz. Eremu zabalerak eta zehaztasunak 'printf' C funtzioarekin zehaztu daitezke. Ez bezala -print, -printf-k ez du lerro berri bat gehitzen katearen amaieran. Ihesaldiak eta zuzentarauak hauek dira:

\ a

Alarma kanpaia.

\ b

Atzera.

\ c

Ez ezazu inprimatu formatu honetatik eta irteera itzali.

\ f

Inprimakien jarioa.

\ n

Newline.

\ r

Carriage return.

\ t

Fitxa horizontala.

\ v

Bertikala fitxa.

\\

Literal barrako barra (`\ ').

\ NNN

ASCII kodea NNN (octal) duen karakterea.

Beste edozein karaktere ondorengo karakterea karaktere arrunt gisa tratatzen da, beraz biak inprimatuta daude.

%%

Ehuneko puntu literala.

% a

Fitxategia azken sarbide denbora C `ctime 'funtzioak itzuli duen formatuan.

% A k

Fitxategiaren azken sarbidea k-k zehazten duen formatuan, hau da, `@ 'edo C` strftime' funtzioaren zuzentaraua. Ondorengo k balioak hauek dira: horietako batzuk agian ez daude eskuragarri sistema guztietan, sistemen arteko 'strftime' ezberdintasunengatik.

@

segundotan urtarrilaren 1etik aurrera, 1970, 00:00 GMT.

Denbora eremuak:

H

ordu (00.23)

I

ordu (01. 12)

k

ordu (0,23)

l

ordu (1,12)

M

minutu (00..59)

p

lokalaren AM edo PM

r

ordua, 12 ordu (hh: mm: ss [AP] M)

S

bigarrena (00..61)

T

ordua, 24 ordu (hh: mm: ss)

X

lokalaren denbora irudikapena (H: M: S)

Z

ordu-zona (adibidez, EDT), edo ezer ez badago ordu-eremua determinagarria ez bada

Data eremuak:

a

lokalaren asteko egunaren izen laburtua (Sun..Sat)

A

lokalaren asteko egunaren izen osoa, luzera aldagarria (igandea, larunbata)

b

lokalaren hilabetearen izen laburtua (Jan.Dec)

B

lokalaren hilabete osoa, luzera aldagarria (urtarrila, abendua)

c

lokalaren data eta ordua (Sat Nov 04 12:02:33 EST 1989)

d

hilaren eguna (01..31)

D

data (mm / dd / yy)

h

b)

j

urteko egunean (001..366)

m

hilabetea (01. 12)

U

Asteko asteburua, igandez, asteko lehen egunean (00..53)

w

asteko egunean (0.6)

W

asteko asteburuan, lehen asteko egunean (00..53)

x

lokalaren data adierazpena (mm / dd / yy)

y

urteko azken bi digituak (00..99)

Y

urtea (1970 ...)

% b

Fitxategiaren tamaina 512 byte blokeetan (biribilduz).

% c

Fitxategia azken aldian aldatzeko ordua C `ctime-ren funtzioaren arabera.

% C k

Fitxategia azken aldaketaren denbora aldatzeko k zehazten duen formatuan, hau da,% A-ren berdina.

% d

Fitxategiaren sakonera direktorioko zuhaitzean; 0 fitxategiak komando lerroaren argumentua da.

% f

Fitxategi-izena zuzendutako edozein direktorio batera ezabatu da (azken elementua bakarrik).

% F

Fitxategi motako fitxategi sistemaren mota; balioa hau -fstype erabil daiteke.

% g

Fitxategiaren taldearen izena, edo taldearen ID zenbakia, taldea izenik ez badu.

% G

Fitxategiaren zenbakizko taldearen IDa.

% h

Fitxategiaren izenaren direktorio nagusiak (guztiak baina azken elementua).

% H

Komando lerroaren argumentua zein den aurkitu den fitxategia.

% i

Fitxategiaren inode zenbaki (hamartarrak).

% k

Fitxategiaren tamaina 1K blokeetan (biribilduz).

% l

Esteka sinbolikoaren objektua (kate hutsa fitxategia ez bada lotura sinbolikoa).

% m

Fitxategiaren baimenaren bitak (zortzitarrean).

% n

Fitxategi lotura estren kopurua.

% p

Fitxategiaren izena.

% P

Fitxategiaren izena ezabatu zen komando lerroaren argumentuaren izenarekin.

% s

Fitxategiaren tamaina byteetan.

% t

Fitxategiaren azken aldaketaren denbora C `ctime-ren funtzioaren arabera.

% T k

Fitxategia azken aldaketa modua k zehazten duen formatuan, hau da,% A-ren berdina.

% u

Fitxategiaren erabiltzaile-izena edo erabiltzailearen identifikazio numerikoa erabiltzaileak izenik ez badu.

% U

Fitxategia erabiltzailearen identifikazio zenbakikoa.

Beste karaktere batera '%' karakterea baztertuta dago (baina beste karakterea inprimatuta dago).

-prune

Sakatu ez bada, egiazkoa; Ez deskargatu uneko direktorioa.
Sakonera ematen bada, faltsua; inolako eraginik.

-LS

egia; zerrendatu uneko fitxategia `ls -dils 'formatuan irteera estandarrean. Blokeoen zenbaketak 1K bloke dira, POSIXLY_CORRECT ingurune aldagaia ezarri ezean, kasu horretan 512 byte bloke erabiltzen dira.

operadoreak

Lehentasun txikiagoaren arabera zerrendatuta.

( expr )

Gogoratu lehentasuna.

! expr

Egia bada expr faltsua bada.

-eta ez expr

Bai! expr .

expr1 expr2

Eta (inplizitua); expr2 ez da ebaluatzen expr1 faltsua bada.

expr1 -a expr2

Expr1 expr2 bezainbeste.

expr1- eta expr2

Expr1 expr2 bezainbeste.

expr1 -o expr2

edo; expr2 ez da ebaluatzen expr1 egia bada.

expr1 -o edo expr2

Espr1 -o expr2 bezalakoaren antzekoa .

expr1 , expr2

zerrenda; bai expr1 eta expr2 beti ebaluatu dira. Exprimearen balioa baztertu egiten da; zerrendaren balioa expr2 balioa da.

Adibideak

aurkitu / home -user joe

Aurkitu fitxategi bakoitzaren direktorioa / home erabiltzaileak joe pean.

aurkitu / usr -name * stat

Aurkitu fitxategi bakoitzaren azpian / usr ".stat" bukaeran.

aurkitu / var / spool -mtime +60

Bilatu fitxategia / var / spool direktorioaren azpian duela 60 egun baino gehiago aldatu da.

aurkitu / tmp -name core-type f -print | xargs / bin / rm -f

Bilatu direktorioa / tmp izeneko core edo azpitik bilatu eta ezabatu. Kontuan izan hau gaizki funtzionatzen duela, lerro berriak, komatxo bakunak edo bikoitzak edo espazioak badituzte.

aurkitu / tmp -name core-type f -print0 | xargs -0 / bin / rm -f

Bilatu direktorioko / tmp ataleko core edo azpian, eta ezabatu, fitxategien izenak prozesatzeko, komatxo bakarreko edo bikoitzak, espazioak edo lerro berriak dituzten direktorioen izenak behar bezala maneiatuta. The -name test- mota proba baino lehen dator, estatunera (2) deitu beharreko fitxategi guztietan saihesteko.

aurkitu. -type f -exec fitxategia '{}' \;

"Fitxategia" exekutatzen du uneko direktorioan dagoen edo beheko fitxategi guztietan. Kontutan izan giltzak komatxoen marko bakarrean biltzen direla interpretatzeko shell script puntuazio gisa babesteko. Halaber, puntu eta koma alderantzizko barra baten erabilera babesten du, nahiz eta ';' kasu horretan ere erabil daiteke.

aurkitu / \ (-perm -4000 -fprintf /root/suid.txt '% # m% u% p \ n' \), \ \ (-size + 100M -fprintf /root/big.txt '% -10s% p \ n '\)

Fitxategi sistema behin bakarrik zeharkatu, fitxategiak eta direktorioak zerrendatzea /root/suid.txt fitxategian eta fitxategi handiak sartu /root/big.txt .

aurkitu $ HOME-denbora 0

Bilatu azken hogeita lau orduetan aldatu diren zure etxeko direktorioko fitxategiak. Komando honek modu honetan funtzionatzen du 24 orduz behin, fitxategi bakoitza aldatu zenetik eta gainerakoa baztertu egiten delako. Horrek esan nahi du denbora- orduarekin lotzea

0 , fitxategi batek iraganean aldaketa txiki bat izan beharko luke, duela 24 ordu baino gutxiago.

aurkitu. -perm 664

Bilatu euren jabea eta taldea irakurtzeko eta idazteko baimena duten fitxategiak, baina beste erabiltzaileek irakur ditzake baina ez idatzi. Irizpide hauek betetzen dituzten fitxategiak baimenak ezartzeko beste baimenak dituzte (adibidez norbaitek fitxategia exekutatzen badu) ez da bat datorrenik.

aurkitu. -perm -664

Bilatu euren jabea eta taldea irakurtzeko eta idazteko baimenik duten eta beste erabiltzaileek irakur dezaten, baimenen bit gehigarririk (adibidez exekutagarriaren bit) adibidez. Hau 0777 modua duen fitxategi batekin bat egingo da, adibidez.

aurkitu. -perm / 222

Bilatu norbait idazteko baimena duten fitxategiak (jabea, edo taldea edo beste inon).

aurkitu. -perm / 220 aurkitu. -perm / u + w, g + w aurkitu. -perm / u = w, g = w

Komando horietako hiru gauza bera egiten dute, baina lehenengoa fitxategi modua irudikatzen du, eta beste bi forma sinbolikoa erabiltzen dute. Komando hauek beren jabeak edo taldek idatz ditzaketen fitxategiak bilatzeko. Fitxategiak ez dira bateragarriak izan behar jabeak eta taldea bateragarriak izateko; bai egingo du.

aurkitu. -perm -220 aurkitu. -perm -g + w, u + w

Bi komando horiek gauza bera egiten dute; bilatu jabearen eta taldearen arabera idatz ditzakezun fitxategiak.

aurkitu. -perm -444 -perm / 222! -perm / 111 aurkitu. -perm -a + r -perm / a + w! -perm / a + x

Bi komando horiek bai irakur daitezkeen fitxategiak bilatzen dituzte (-perm -444 edo -perm -a + r), gutxienez idatzi behar dute bit-bit (-perm / 222 edo -perm / a + w) baina ez dira exekutagarriak Edozeinek (! -perm / 111 eta! -perm / a + x hurrenez hurren)

Garrantzitsua: erabili man komandoa ( % man ) komando bat nola erabiltzen den zure ordenagailuan.