Miten Löytää Tiedostot Linux-komentoriviltä

find komento rekursiivisesti suodatus esineitä tiedosto järjestelmä, joka perustuu yksinkertainen ehdollinen mekanismi. Käytä find etsi tiedostojärjestelmästäsi tiedostoa tai hakemistoa. -exec – lipulla tiedostot löytyvät ja ne käsitellään välittömästi samassa komennossa.,

Find Linux Files by Name or Extension

Use find from the command line to locate a specific file by name or extension., Seuraava esimerkki hakee *.err tiedostot /home/username/ hakemistossa ja kaikki sen osa-hakemistoja:

find /home/username/ -name "*.err"

Sinun pitäisi nähdä samanlainen lähtö konsoliin:

 /home/username/example.errThe matching file in the /home/username/ directory is "example.err"

Yleiset Linux-Etsi Komennot ja Syntaksi

find komento kestää yleensä seuraavassa muodossa:

find options starting/path expression
  • options määrite ohjaa käyttäytymistä ja optimointi menetelmä find prosessi.,
  • starting/path attribuutti määrittelee ylätason hakemistoon, jossa find alkaa suodatus.
  • expression määrite ohjaa testit, jotka etsiä hakemiston hierarkia tuottaa tuotos.

Etsi Tiedosto, Linux Käyttäen Tiedostonimi

löytää tiedoston tiedostonimi, käyttää syntaksia find -name filename. Jättämällä polku etsii tiedoston koko levyn., Esimerkiksi, voit löytää tiedoston nimeltä example.err sijaitsee /home/username hakemisto komennolla:

find -name example.err

Sinun pitäisi nähdä samanlainen tuotos:

 ./username/example.err

Etsi Tiedosto Nykyisessä Hakemistossa Käyttämällä Etsi-Komentoa

katso esimerkki hakemistorakenne ja tiedostot. Niihin viitataan kaikissa tämän oppaan esimerkeissä.,haluatko löytää tiedosto example.err sisällä hakemistosta tai sen alihakemistoista, voit antaa seuraavan komennon:

find . -name example.err

Oman tuotannon muistuttaa seuraavaa:

 ./example.err./directory_1/example.err

lähtö kuvastaa directory_1 hakemistorakenne:

 ├── directory_1│ ├── subdirectory_1│ │ └── example.err│ └── example.err

Etsi Kuva Tiedostot Linux-komentoriviltä

Löytymistä tiedoston rakenne edellisessä jaksossa, on kuva nimeltä image01.png, joka sijaitsee juureen (/)s hakemiston rakenne.,

etsi tiedosto image01.png suorita seuraava find – komento, joka etsii kaikki .png tiedostot tallennetaan sisälle / hakemisto.

find -name *.png

Sinun pitäisi nähdä samanlainen lähtö:

 ./image01.png

Vaihda kuvatiedoston tyyppi ja etsiä .jpg tiedostot sisällä juurihakemistoon (/):

find -name *.jpg

lähtö muistuttaa esimerkiksi., Katso edellisen jakson esimerkkihakemistorakenne nähdäksesi tiedoston sijainnin.

 ./web_files/unnamed.jpg

Etsi Tyhjä Tiedosto Hakemistoon Komennolla Line

löytää tyhjän tiedoston hakemistoon käyttää komentoriviltä, antaa seuraava komento:

find . -type f -empty

Jos ei lähtö palautetaan, niin siellä ei ole tyhjä tiedosto, nykyisen hakemiston.

Valinnat ja Optimointeja Löytää Tiedostot Linux-komentoriviltä

oletuksena kokoonpano find ignoressymbolic linkkejä., Jos haluat find seurata ja palata symbolisia linkkejä, lisää -L mahdollisuus komennon, kuten alla:

find -O3 -L /var/www/ -name "*.html"

Tämä komento mahdollistaa maksimi optimointi tasolla (-O3) ja avulla find seuraa symbolisia linkkejä (-L). find hakee koko hakemistopuun alla /var/www/ tiedostoja, jotka päättyvät .html.,

find optimoi sen suodatus strategia suorituskyvyn parantamiseksi. Kolme käyttäjän valittavissa optimointi tasot on määritelty -O1, -O2 ja -O3. -O1 optimointi on oletuksena ja voimia find suodattaa perustuu tiedostonimi ennen käynnissä kaikki muut testit.,

Optimointi osoitteessa -O2 taso priorisoi tiedostonimi suodattimet, kuten -O1, ja sitten kulkee kaikki tiedosto-tyyppi suodatus, ennen kuin jatkat muita enemmän resursseja vaativia ehtoja. Taso -O3 optimointi mahdollistaa find suorittaa vakavin optimointi ja järjestää uudelleen kaikki testit, jotka perustuvat niiden suhteellinen kustannuksellaan ja todennäköisyys niiden menestys.,

Command Description
-O1 Filter based on filename first (default).
-O2 File name first, then file-type.,
-O3 Salli find automaattisesti uudelleen, jotta haku perustuu resurssien tehokkaaseen käyttöön ja todennäköisyys. menestystä
-maxdepth X Haku hakemisto sekä kaikki sen osa-hakemistoja X tasoa syvä.
-iname Haku ilman huomioon tekstin tapauksessa.,
-not Return only results that do not match the test case.
-type f Search for files.
-type d Search for directories.,

Etsi Tiedostoja Linux Muutoksen Aikaa komentorivin Avulla

find komento voi suodattaa hakemiston hierarkia perustuu, kun tiedosto on viimeksi muutettu., Esimerkiksi seuraava komento havaitsee tiedoston kanssa .err laajennus, joka oli muutettu viimeisen 7 päivän aikana:

find / -name "*err" -mtime -7

esimerkissä komento palauttaa seuraavan tulosteen:

Käytä Grep Löytää Tiedostot Linux-komentoriviltä

find komento ei vain voi suodattaa hakemiston hierarkia perustuu tiedoston nimen ja metatiedot. Jos sinun täytyy etsiä tiedoston sisällön perusteella, käytä työkalua likegrep., Harkitse seuraava esimerkki:

find . -type f -exec grep "test" '{}' \; -print

Tämä komento etsii jokaisen esineen nykyisen hakemiston hierarkia (.), joka on tiedoston (-type f) ja sitten suorittaa komennon grep "test" jokainen tiedosto, joka täyttää edellytykset. Ruudulle tulostetaan vastaavat tiedostot (-print). Kihara hammasraudat ({}) ovat paikkakuntana find match-tuloksille., {} ovat yksinkertaisten lainausmerkkien sisään (') välttää luovuttamalla grep epämuodostunut tiedostonimi. -exec komento lopetetaan puolipisteellä (;), joka olisi karannut (\;), jotta vältettäisiin tulkinta, jonka kuori.

tiedosto käyttää esimerkissä (example.err) on tekstin sisällä, joka sanoo, ”testi”., Kun suoritat esimerkkikomentoa, näet samanlaisen ulostulon:

Grep tunnisti jokaisen tiedoston nykyisen työhakemiston sisällä, joka sisältää merkkijonon ”test”.,

Huomautus

Ennen find komento täytäntöönpano -exec vaihtoehto, voit luoda samanlainen lähtö esimerkissä käyttäen xargs komento:

find . -type f -print | xargs grep "test"

Prosessi ja Etsiä Tiedostoja Käyttämällä Etsi-Komentoa Linux

-exec vaihtoehto suorittaa komentoja vastaan, jokainen esine, joka vastaa find ilme., Harkitse seuraava esimerkki:

find . -name "example.err" -exec chmod o+r '{}' \;

Tämä suodattimia jokaisen esineen nykyinen hierarkia (.) tiedostoja nimeltä rc.conf ja juoksee chmod o+r komento muuttaa tiedoston käyttöoikeuksia find komento tuloksia.

esimerkissä komento toimii ja suorittaa -exec vaihtoehto root-hakemistoon find prosessi. Käytä -execdir suorittaaksesi määritetyn komennon hakemistossa, jossa ottelu sijaitsee., Tämä voi lievittää turvallisuusongelmia ja parantaa suorituskykyä joissakin operaatioissa.

-exec tai -execdir valinnat ajaa ilman muita ohjeita. Jos haluat kysytään ennen kuin toimenpiteisiin ryhdytään, korvata -exec -ok tai -execdir -okdir.

Miten Etsi ja Poista Tiedostoja Linux Command Line

Varoitus

Käytä tätä vaihtoehtoa varoen.,

Lisää vaihtoehto -delete lopussa ottelun ilme poistaa kaikki tiedostot, jotka vastaavat. Käytä tätä vaihtoehtoa, kun olet varma, että tulokset vastaavat vain tiedostoja, jotka haluat poistaa.

alla olevassa esimerkissä find rekursiivisesti etsii kaikki tiedostot hierarkiassa alkaen nykyiseen hakemistoon ja poistaa kaikki tiedostot, jotka päättyvät .err laajennus:

find . -name "*.err" -delete

Vielä on muutamia kysymyksiä?,

Liity yhteisöömme ja lähetä kysymyksesi muille Linode-ja Linux-harrastajille auttaaksesi sinua.

Aiheeseen liittyvät kysymykset:

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *