Najbolj priljubljeni upravitelji datotek za operacijske sisteme v jedru Linux imajo precej funkcionalno orodje za iskanje. Vendar pa parametri, ki v njem niso vedno prisotni, zadostujejo za iskanje potrebnih informacij. V tem primeru rešuje standardni pripomoček, ki teče skozi terminal . Omogoča vam preprosto iskanje potrebnih podatkov v določenem imeniku ali celotnem sistemu z vnosom ukaza, argumenta in možnosti.
Vsebina
Ukaz find je zasnovan za iskanje različnih objektov, vključno z datotekami vseh formatov in imenikov različnih globin. Uporabnik mora vnesti samo ukaz, določiti želeno vrednost in dodeliti argumente za nastavitev parametrov filtriranja. Izvajanje postopka s strani pripomočka sam po sebi običajno ne traja veliko časa, ampak je odvisno tudi od količine skeniranih informacij. Zdaj pa poglejmo primere uporabe poiskati podrobneje.
Za začetek bi se rada malo umaknila iz glavne ekipe in se dotaknila teme dodatnih ukrepov, ki bodo v prihodnosti pomagali pri upravljanju iz konzole. Dejstvo je, da pripomočki v distribucijah Linuxa niso izostreni z iskanjem vseh elementov v računalniku. Vse procese je treba zagnati samo s polno lokacijo elementov ali z ukazom cd . To lahko storite zelo enostavno:
cd /home/user/folder
, kjer je uporabnik ime domače mape uporabnika in mapa je ime zahtevanega imenika. Če pred uporabo najdete zgoraj navedena navodila, lahko izpustite celotno pot do datoteke, pod pogojem, da je na izbrani lokaciji. Takšna rešitev bo bistveno pospešila vhodne ukaze v prihodnosti.
Ko zaženete find
iz konzole, ki ste jo pravkar začeli, boste dobili rezultat iskanja v domačem imeniku aktivnega uporabnika. V drugem primeru, na primer, ko aktivirate med iskanjem po lokaciji, boste v rezultatih videli vse podmape in datoteke tega kraja, ki so v njih prisotne.
Aktiviranje iskanja brez argumentov in možnosti se uporabi, ko morate pregledati vse elemente hkrati. Če se njihovo ime ne ujema povsem z nizi, je vredno spremeniti ukaz, tako da najde obliko find . -print
find . -print
.
Ukaz za prikazovanje datotek po podani poti je skoraj enak tistemu, ki smo ga omenili zgoraj. Prav tako morate podati find
in nato dodati ./folder
če želite izvedeti več o imeniku na trenutni lokaciji, ali pa morate navesti celotno pot, tako da na primer vnesete find ./home/user/downloads/folder
, kjer je mapa končni imenik Vsak element bo prikazan v ločenih vrsticah po vrstnem redu globine.
Včasih je treba prikazati samo objekte, ki izpolnjujejo ime. Potem mora uporabnik nastaviti ločeno možnost za ukaz, tako da razume pritožbo. Vnosna vrstica ima obliko: find .
-name "word", kjer je beseda ključna beseda za iskanje, ki mora biti napisana v dvojnih narekovajih in občutljiva na velike in male črke za vsak znak.
Če ne poznate natančnega primera vsake črke ali želite prikazati vsa ujemajoča se imena, ne da bi upoštevali ta parameter, v konzolo vnesite find . -iname "word"
find . -iname "word"
.
Če želite rezultate filtrirati po ključnih besedah, se argumentu -name doda še ena. Ukaz sprejme obliko find . -not -name "word"
find . -not -name "word"
, kjer je beseda beseda, ki jo je treba izbrisati.
Še vedno je včasih treba poiskati objekte z enim ključem, medtem ko drugega izključujemo. Nato se po vrsti dodeli več možnosti iskanja, vhodna vrstica pa je naslednja: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. Upoštevajte, da drugi argument v narekovajih označuje » * .txt« , kar pomeni, da najdejo dela ne samo z imeni, temveč tudi z datotečnimi formati, ki so podani v tem obrazcu.
Obstaja tudi operater OR . Omogoča vam, da najdete enega ali več primernih argumentov hkrati. Vsak je posebej naveden z dodatkom ustreznih argumentov. Rezultat je nekaj takega: find -name "word" -o -name "word1"
.
Ukaz find bo pomagal uporabniku, tudi če bo moral najti vsebino imenikov samo do določene globine, na primer, analiza ni potrebna v tretji podmapi. Če želite nastaviti te omejitve, vnesite find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
, kjer je N največja globina, in -name "word" pa so vsi naslednji argumenti.
V mnogih imenikih je več map z različnimi vsebinami. Če jih je veliko in je iskanje potrebno izvesti le v določenih, potem morate to navesti pri vnosu find ./folder ./folder1 -type f -name "word"
, kjer je ./folder ./folder1 seznam ustreznih imenikov, in -name "word" - preostali argumenti.
Brez ustreznega argumenta skriti predmeti v skeniranih mapah v konzoli ne bodo prikazani. Zato uporabnik ročno vnese dodatno možnost, da konča z ukazom: find ~ -type f -name ".*"
. Prejeli boste celoten seznam vseh datotek, če pa nekateri od njih niso dostopni, v vrstico vnesite sudo
pred besedo find, da aktivirate pravice superuporabnika.
Vsak uporabnik lahko ustvari neomejeno število imenikov in predmetov na različnih lokacijah. Najhitrejši način za iskanje informacij, ki pripadajo enemu od uporabnikov, z uporabo ukaza find in enega od njegovih argumentov. V seznamu "Terminal" find . -user username
find . -user username
, pri čemer je uporabniško ime uporabniško ime. Po vnosu se bo samodejno zagnal.
Približno enaka shema deluje s skupinami uporabnikov. Analiza datotek, povezanih z eno od skupin, se find /var/www -group groupname
preko find /var/www -group groupname
. Ne pozabite, da lahko obstaja veliko število predmetov in včasih traja veliko časa, da jih vse predvajate.
Operacijski sistem samodejno shrani datum spremembe vsake obstoječe datoteke. Ukaz find vam omogoča, da poiščete vse po določenem parametru. Registrirati morate samo sudo find / -mtime N
, kjer je N število dni nazaj, ko je bil objekt nazadnje spremenjen. Predpona sudo tukaj je potrebna za pridobitev podatkov o datotekah, ki so namenjene samo superuporabniku.
Če vas zanima ogled elementov, ki so bili nazadnje odprti pred nekaj dnevi, se vrstica malo spremeni v sudo find / -atime N
Vsak objekt ima svojo velikost, ukaz za iskanje datotek pa mora imeti funkcijo, ki vam omogoča, da jih filtrirate po tem parametru. find je sposoben to narediti, uporabnik mora samo nastaviti velikost z argumentom. Preprosto vnesite find / -size N
, kjer je N prostornina v bajtih, megabajtih (M) ali gigabajtih (G).
Določite lahko obseg želenih elementov. Nato se kvalifikatorji uvrstijo v ukaz in dobite npr. Naslednjo vrstico: find / -size +500M -size -1000M
. Ta analiza bo prikazala datoteke z več kot 500 megabajti, vendar manj kot 1000.
Nekatere datoteke ali mape so prazne. Preprosto zavzamejo dodaten prostor na disku in včasih ovirajo normalno interakcijo z računalnikom. Najti jih je treba, da se lahko odločite o nadaljnjih ukrepih, pri tem pa vam bo pomagal find /folder -type f -empty
, kjer je mapa mesto, kjer se izvaja skeniranje.
Poleg tega bi rad na kratko omenil druge koristne argumente, ki uporabniku občasno postajajo uporabni:
-mount
- omejitev samo na trenutni datotečni sistem; -type f
- prikaz samo datotek; -type d
- prikaz samo imenikov; -nogroup
, -nouser
- iskanje datotek, ki ne pripadajo nobeni skupini ali ne pripadajo uporabniku; -version
- izvedite različico uporabljenega orodja. Na tem znanju z ukazom find je popoln. Če želite podrobno preučiti druga standardna orodja konzole operacijskih sistemov na jedru Linuxa, vam svetujemo, da se obrnete na naš ločen material na naslednji povezavi.
Več podrobnosti: Pogosto uporabljeni ukazi v terminalu Linuxa
Po iskanju potrebnih informacij lahko z njimi izvajate druga dejanja, na primer urejanje, brisanje ali proučevanje vsebine. To bo pomagalo drugim vgrajenim pripomočkom "Terminal" . Primeri njihove uporabe so navedeni spodaj.