Linux FIND -komento esimerkein

Tiedätkö kuinka monta tiedostoa on uudessa Linux -asennuksessa ? Jos käytät PopOS! Esimerkiksi Linux-jakelussa(Linux distribution) on yli 31 000 tiedostoa. Se on ennen kuin alat luoda asiakirjoja, tallentaa musiikkia, ladata PDF(PDFs) -tiedostoja tai järjestää kuvia.

Tästä johtuen oikean tiedoston tai kansion löytäminen Linuxissa(Linux) sitä vaatiessa on haaste. Tässä artikkelissa opit käyttämään Linuxin FIND(Linux FIND) - komentoa, ja annamme sinulle kaikki mahdolliset esimerkit.

Linux FIND -komennon syntaksi(Linux FIND Command Syntax)

Syntaksi viittaa siihen, kuinka sanat tai komennot kootaan. Aivan(Just) kuten tavallisesta lauseesta voi tulla hölynpölyä vain sekoittamalla sanoja, komennot voivat epäonnistua, jos niitä ei käytetä oikeassa syntaksissa.

etsi [polku] [ehdot] [toiminnot](find [path] [conditions] [actions])

Tässä on mitä se tarkoittaa:

find – käynnistää Find - apuohjelman Linuxissa(Linux)

polku(path ) – mistä etsiä

ehdot(conditions ) – argumentit, joita haluat käyttää haussa

toimet(actions ) – mitä haluat tehdä tuloksilla

Yksinkertainen esimerkki, jossa käytetään kaikkia kolmea, näyttää tältä:

löytö . -nimi tiedosto-näyte.rtf -tulostus(find . -name file-sample.rtf -print)

Kuten arvasit, tämä löytää tiedoston nimen file-sample.rtf

Piste ( . ) -polku käskee etsimään nykyisestä hakemistosta ja sen sisältämistä hakemistoista. 

Ehto -name käskee find saamaan tiedoston kyseisellä nimellä.

-print - toiminto käskee FIND näyttämään tulokset näytöllä.

Piste ja -print ovat oletusarvoja find-komennossa. Joten se tekee saman asian, jos et käytä niitä. Joten etsi -nimi file-sample.rtf(find -name file-sample.rtf ) antaa sinulle samat tulokset.

Linux FIND toisesta hakemistosta(Linux FIND In Another Directory)

Voit etsiä eri hakemistosta kuin se, jossa olet. Lisää vain(Just) hakemiston polku FIND jälkeen . Jos olet juurissa ja tiedät, että tiedosto on jossain home/user , käytät seuraavaa:

find home/user -name file-sample.rtf

Se on edelleen rekursiivinen haku, joten se käy läpi jokaisen käyttäjän(user) hakemiston .

Linux FIND Hae useista hakemistoista(Linux FIND Search Multiple Directories)

Jos haluat etsiä useista hakemistoista kerralla, luettele ne komennossa välilyönnillä erotettuna.

find /lib /var /bin -name file-sample.rtf

Linux FIND ilman rekursiota tai rajoittamalla rekursiota(Linux FIND with No Recursion or Limiting Recursion)

Jos käytit yllä olevaa FIND - komentoa juuritasolla, se katsoisi kaikki järjestelmän hakemistot läpi. Joten jos haluat pysyä vain nykyisessä hakemistossa, käytä -maxdepth - vaihtoehtoa. Numero -maxdepth jälkeen kertoo Etsi kuinka syvälle mennä ennen pysähtymistä. 

-maxdepth 1:n(-maxdepth 1 ) käyttö tarkoittaa vain tätä hakemistoa. 

find -name file-sample.rtf -maxdepth 1

-maxdepth 2(-maxdepth 2 ) tai sitä suuremman luvun käyttäminen tarkoittaa, että mennään niin monta tasoa syvemmälle.

etsi -maxdepth 5 -name file-sample.rtf(find -maxdepth 5 -name file-sample.rtf)

Linux FIND Wildcard Esimerkki(Linux FIND Wildcard Example)

FIND - komento käyttää tähteä ( * ) jokerimerkkinä. Käytä sitä missä tahansa nimen osassa, josta et ole varma. Sitä voidaan käyttää nimessä useammin kuin kerran. Jos tiedostotyyppiä ei ole osana tiedoston nimeä, tulokset sisältävät myös vastaavat hakemistot.

find home/user -name file*sample*

Linux FIND tyypin mukaan(Linux FIND by Type Example)

Jos haluat etsiä vain tiedostoa tai hakemistoa, käytä -type-vaihtoehtoa ja sopivaa kuvaajaa. Niitä on muutamia, mutta tiedostot ja hakemistot ovat yleisimpiä:

f – tiedosto

d – hakemisto

b – estää laite

c – merkkilaite

l – symbolinen linkki

s – pistorasia

find home/user -name file*sample* -type d

Esimerkki: Linux FIND, jossa kirjainkoolla ei ole merkitystä(Linux FIND Case Insensitive Example)

Toisin kuin Windows , Linux välittää siitä, onko kirjain iso vai pieni. Joten jos haluat sen etsivän sekä tiedostoa File-Sample.rtf(File-Sample.rtf) että file-sample.rtf, käytä -iname - vaihtoehtoa.

find home/user -iname File-Sample.rtf

Linux HAE useita tiedostoja Esimerkki(Linux FIND Several Files Example)

Oletetaan, että halusit löytää tiedoston .rtf- ja .html-versiot. Se voidaan tehdä yhdellä komennolla käyttämällä -o (tai) -operaattoria. Joissakin jakeluissa nimet on ehkä asetettava hakasulkeisiin, kuten ( -name file-sample.rtf -o -name file-sample.html )

find home/user -name file-sample.rtf -o -name file-sample.html

Linux ETSI tiedostoja, jotka eivät vastaa nimeä(Linux FIND Files That Don’t Match a Name)

Ehkä tiedät, että tiedostosta on .html - versio, mutta et jos muita. Voit suodattaa .html - version pois hausta käyttämällä -not - vaihtoehtoa .

find home/user -name file-sample* -not -name *.html

Linux FIND ilman virheitä(Linux FIND Without Error Results)

Huomaa löydössä ilman rekursiota, että se listasi kaikki hakemistot, joista se ei voinut etsiä, ja oikean tuloksen. Se on ärsyttävää. Lopetetaan se näyttämästä kaikkia niitä " Permission denied" -hakemistoja. Yhdistä se toiseen Linuxin päätekomentoon(Linux terminal command) , grep. Voit myös etsiä tiedostoja, joissa on tiettyjä sanoja, käyttämällä (find files with specific words in them)Etsi(Find) -komentoa grepillä .

find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v “Permission denied”

Puretaan 2>&1 .

2 – edustaa stderr :tä , joka on lyhenne sanoista standardivirhetulostus. 

1 – edustaa stdoutia(stdout) , joka on lyhenne sanoista vakiolähtö

> – tarkoittaa vasemmalla olevan lähdön ohjaamista sen oikealle puolelle.

& – tarkoittaa koota yhteen.

Joten 2>&1 tarkoittaa, että otat vakiovirheet ja ohjaat ne uudelleen ja yhdistävät ne sitten vakiotulosteen kanssa yhdeksi ulostuloksi.

Katsotaan nyt | grep -v “Permission denied” .

| (kutsutaan putkiksi) – käskee Linuxia(Linux) syöttämään sen vasemmalla puolella olevan tulokset sen oikealla puolella olevaan. Se syötetään grep-komennolle.

grep – on tekstihakuapuohjelma. 

-v – käskee grepiä etsimään kaikkea, mikä ei vastaa -v:n vasemmalla puolella olevaa tekstiä. Tässä tapauksessa se käskee grepille etsimään vain kaiken, joka ei sisällä tekstiä tai merkkijonoa " Lupa(Permission) estetty". Joten grep näyttää sinulle vain etsimäsi tulokset ja kaikki virheet, jotka eivät vastaa kohtaa " Lupa(Permission) estetty".

Linux FIND käyttöoikeusesimerkillä(Linux FIND by Permissions Example)

Jotta voit käyttää tätä hyvin, sinun on opittava Linuxin käyttöoikeudet(learn Linux permissions)

Kaikilla esimerkkitiedostoilla on käyttöoikeudet 664, paitsi yhdellä, jonka käyttöoikeudet on 775. Käytä -perm - valintaa löytääksesi sen.

find Documents/ -name file-sample* -type f -perm 775

Linux FIND koon mukaan(Linux FIND by Size Example)

Tiedostojen etsiminen koon mukaan on kätevää, jotta nämä valtavat tiedostot täyttävät kiintolevysi. Käytä -size-vaihtoehtoa, haluttua kokoa ja jotakin seuraavista jälkiliitteistä. Jos päätettä ei käytetä, -size on oletuksena b . Jos haluat etsiä tietyn kokoisia tai suurempia tiedostoja, laita plusmerkki (+) koon eteen.

M - megatavua

G – gigatavua

k – kilotavuja

b – lohkot (512 tavua – oletus)

c - tavua

w – sanat (kaksi tavua yhdessä)

find -size +500k

Linux FIND omistajalta(Linux FIND by Owner)

On kaksi tapaa etsiä tiedostoja omistajan mukaan. Toinen on omistajan käyttäjänimen ja toinen käyttäjäryhmän mukaan. Voit etsiä käyttäjänimen mukaan käyttämällä -user - vaihtoehtoa ja sen jälkeen käyttäjänimeä. Voit etsiä käyttäjäryhmän mukaan käyttämällä -group -komentoa ja ryhmän nimeä.

Find -user groupname tai find -user username

Linux FIND Files viimeksi muokatun esimerkin mukaan(Linux FIND Files by Last Modified Example)

Jos haluat etsiä tiedostoja, joita on muokattu tai muokattu viimeisen X päivän aikana, käytä -mtime ja numero. Miinusmerkin ( ) lisääminen numeron eteen havaitsee, että kaikki on muuttunut niin monta päivää aiemmin. Plusmerkki ( + ) tarkoittaa, että monta päivää ennen tätä. 

find -name “file-sample*” -mtime +5 (greater than 5 days ago)

find -name “file-sample*” -mtime -5 (less than 5 days ago)

Hae viimeksi muokattu minuutteina käyttämällä vaihtoehtoa -mmin ja sen jälkeen minuuttien lukumäärää. Käytä + ja – kuten yllä.

find -name “file-sample*” -mmin -5

find -name “file-sample*” -mmin +5

Linux FIND-tiedostot viimeksi käytettyjen aika -esimerkkien mukaan(Linux FIND Files by Last Accessed TIme Example)

Vaihtoehto, jota käytetään tiedostojen etsimiseen sen perusteella, milloin ne viimeksi avattiin, on -atime päiviä ja -amin minuutteja. Seuraa sitä päivien tai minuuttien lukumäärällä palataksesi taaksepäin ja käytä +- ja –-merkkejä suurempina kuin ja pienempinä kuin.

find -name “file-sample*” -atime -5

find -name “file-sample* -amin -5

Yhdistä FIND muihin Linux-komentoihin(Combine FIND with Other Linux Commands)

Yllä on yksi esimerkki find-komennon käyttämisestä grep-komennon kanssa, ja voit käyttää sitä monien muiden kanssa. Voit nähdä, että haku- ja muiden komentojen käyttö voi olla erittäin tehokasta ja valtavasti aikaa säästävä. Kuvittele(Imagine) , että sinun on poistettava joukko tietyn tyyppistä tiedostoa. Tiedostonhallinnassa etsimisen sijaan luo vain oikea komento, ja se tapahtuu sekunneissa. Kuinka käytät nyt hakukomentoa?



About the author

Olen tietokoneasiantuntija, jolla on yli 10 vuoden kokemus ohjelmisto- ja selainteollisuudesta. Olen suunnitellut, rakentanut ja hallinnut kokonaisia ​​ohjelmistojen asennuksia sekä kehittänyt ja ylläpitänyt selaimia. Kokemukseni ansiosta pystyn antamaan selkeitä, ytimekkäitä selityksiä monimutkaisista aiheista – olipa kyse sitten Microsoft Officen toiminnasta tai siitä, kuinka saada kaikki irti Mozilla Firefoxista. Tietokonetaitojeni lisäksi olen myös taitava kirjoittaja ja pystyn kommunikoimaan tehokkaasti verkossa ja henkilökohtaisesti.



Related posts