40 Parhaita Esimerkkejä Löytää komento Linux

Linux find komento on tehokas työkalu, jonka avulla järjestelmänvalvojat voivat etsiä ja hallita tiedostoja ja hakemistoja perustuu laajan valikoiman hakuehdot. Se voi löytää hakemistoja ja tiedostoja niiden nimi, tyyppi, tai laajennus, koko, käyttöoikeudet, jne.

Lisäksi paikallistamiseen tiedostoja ja hakemistoja, jossa yhdistyvät find komento muiden kanssa, voit ottaa toiminnan tuloksia., Lisäämällä -exec vaihtoehto mahdollistaa ylläpitäjille suorittaa ulkoisia komentoja ja suorittaa toimintoja, kuten kopiointi, siirtäminen, poistaminen tai muuttaminen käyttöoikeudet tiedostoja vastaavat määritellyt kriteerit, kuten koko, nimi, jne.

tässä artikkelissa, aloitamme selittämällä perus Linux etsi komentoja esimerkkejä. Tämä näyttää, miten löytää tiedostoja ja hakemistoja. Näytämme sitten, miten -exec – vaihtoehtoa käytetään toimimaan tiedostoissa tai hakemistoissa niiden koon, käyttöoikeuksien jne.perusteella.,

yleinen syntaksi etsi-komento on

find {path} {name -of-file or dir-to-search} {action-to-take}

Missä

tässä opetusohjelmassa, me selittää, miten etsiä tiedostoja ja hakemistoja matching määritelty kuvioita. Näemme myös, miten toimia tiedostoissa tai hakemistoissa, jotka find-komento paikantaa. Opas perustuu Ubuntuun, mutta sitä sovelletaan useimpiin Linux-jakeluihin ja-versioihin.

Etsi tiedostoja ja Hakemistoja

Etsi tiettyjä tiedostoja nimen tai laajennus

etsiä tietyn tiedoston, suorita seuraava komento root (/)., Komento sisältää etsimäsi tiedoston tarkan nimen.

find . -name file22.txt

Lähtö

./test/file22.txt./sales/file22.txt

huomaa, että tulokset ovat polku. Tämä on tärkeää, jos et tiedä hakemistoon, jossa tiedosto sijaitsee, tai kun se on enemmän kuin yhdessä paikassa.

voit etsiä tiedoston myös toisesta hakemistosta, kun olet vielä nykyisessä paikassa. Tässä tapauksessa, sinun täytyy antaa polku hakemistoon, jossa haluat etsiä.,

find ./test -name file22.txt

etsi tiettyjä tiedostoja toiseen hakemistoon

Tässä tapauksessa, me tarkastelemme kaikille niille, jotka alkavat annetuilla kirjaimilla tiedosto testi-hakemistoon.

find ./test -name file*

Lähtö

./test/file22.txt./test/file30.doc./test/file1.txt./test/file5,doc

Etsi tiedostoja laajennus

jos Haluat etsiä tiedoston Linux tietty laajennus, lisää se komento.,

find . -name *.txt

Lähtö

./test/subtest/subfil.txt./test/file22.txt./test/file1.txt./home1/files32.txt./home2/file22.txt./qa/tags.txt

Etsi tiedostoja ja hakemistoja, jonka nimi

Käytä komentoa alla etsiä tiedostoja ja hakemistoja, jotka alkavat qa. Meidän tietokone, meillä on qatree.txt ja qa.txt tiedostot sekä hakemiston, jonka nimi qa.,

Jos me suorita komento;

find ./ -name "qa*"

Se palauttaa seuraavan tulosteen

./test/qatree.pdf./test/qa.txt./home/qa

– komento palauttaa sekä tiedostoja ja hakemistoja jotka vastaavat hakuehtoja. Etsi vain tiedostoja tai hakemistoja, sinun täytyy määrittää tämä komennossa.

Etsi tiedostoja tai hakemistoja vain

tiedostot vain, käytä type f vaihto.

– Tiedostot vain,

find ./ -type f -name "qa*"

Lähtö

./test/qatree.pdf./test/qa.txt

Hakemistot vain

Lisää type d mahdollisuus etsiä hakemistoja vain.,

find ./ -type d -name "qa*"

Lähtö

./home/qa

kirjainkoko löytää komento

Kaikki haut -name vaihda kirjainkoko on merkitsevä ja ei anna tuloksia isoilla kirjaimilla. Jos haluat kaikki tapaukset, käytä-iname – vaihtoehtoa.

find ./ -iname "qa*"

Lähtö

./test/qatree.pdf./test/qa.txt./test/QAtest.txt./home/qa

Etsi tiedosto useita hakemistoja

löytää tiedostoja eri hakemistoista, lisätä niiden polut komento., Meidän tapauksessamme, me tarkistaa test ja numeric hakemistot.

find ./test ./numeric -name file22.txt -type f

Lähtö

./test/file22.txt/root/numeric/file22.txt

Etsi useita tiedostoja eri laajennuksia kaikki hakemistot

Voit käyttää etsi-komennolla voit etsiä useita tiedostoja, jotka jakavat erilaisia laajennuksia, kuten *.doc, *.txt *.pdf jne. Tämä voidaan tehdä erikseen, yksi laajennus kerrallaan, tai käyttämällä vain yksi komento, joka sisältää kaikki halutut laajennukset.,

find . -type f ( -name "*.txt" -o -name "*.pdf" -o -name "*.doc" )

lähtö

Etsi tiedostoja, jotka sisältävät tietyn tekstin

Joskus haluat käyttää tiedostoa, joka sisältää tietyn tekstin, mutta ei voi muistaa sen tiedoston nimi tai sijainti. Tämän komennon avulla voit löytää kaikki tiedostot, jotka sisältävät kohde-tekstiä.

etsiä kaikki tiedostot, jotka sisältävät sanan hyperconvergence”, käyttää;

find / -type f -exec grep -l -i "hyperconvergence" {} ;

Lähtö

/root/numeric/hci/root/HCIP

–i-vaihtoehto mahdollistaa komento sivuuttaa tapauksissa ja löytää tekstin, onko aktivoitu tai ei eli hyperconvergence, Hyperconvergence , jne.,

etsiä tiedostoja tietyssä hakemistossa, yksinkertaisesti lisää se komento

find ./numeric -type f -exec grep -l -i "hyperconvergence" {} ;

Lähtö

./numeric/hci

Etsi Tiedostoja ja Hakemistoja Perustuu Koko

Voit löytää kaikki tiedostot tai hakemistot, jotka ovat pienempi, yhtä suuri tai suurempi kuin tietty koko, tietyissä rajoissa tai tyhjä. Käytä sopivaa kokoformaattia etsimäsi tiedostojen tai hakemistojen tyypin mukaan.,nd tiedostoja tietyn koon – yhtä 30MB

Haku löytää kaikki 30MB tiedostoja,

find / -size 30M

Etsi suurempia tiedostoja tietyn koon

find -size +2M

Lähtö

. /Downloads/ubuntu18043.iso ./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Etsi tiedostoja, alle 10MB nykyisen hakemiston

find . -type f -size -10M

Etsi tiedostot, joiden koot välillä 100-200MB

Kun etsit tiedostoja tietyn alueen sisällä, kuten välillä 100 ja 200 MB

find / -size +100M -size -200M

etsi hakemistoja suurempi kuin 20kb

find / -type d -size +20k

Löytää tyhjiä tiedostoja ja hakemistoja.,

Tiedostot

find ./ -type f -size 0

tai

find ./ -type f –empty

Hakemistot

find ./ -type d –empty

Etsi tiedostoja, iän tai muuttaminen aika

Etsi tiedostot vanhempi kuin n-päivää

find /path/ -type f -name '*.txt' -mtime +8

-mtime +8 etsii txt tiedostot, jotka ovat vanhempia kuin 8 päivää.,

, Jonka muokkauspäivämäärä

Tämä tulee etsiä tiedostoja, joita on muutettu viimeisen 17 tuntia

find . -mtime -17 -type f 

etsii hakemistoja muutettu viimeisen 10 päivän aikana

find . -mtime -10 -type d 

Etsi tiedostoja perustuu pääsy tai muuttaminen

Etsi tiedostoja perustuu päiväys tai aika käsiksi. Tämän avulla voit nähdä tiedostoja, joihin on tai ei ole päästy tietyn ajan kuluessa.

nähdäksesi tiedostot, joita ei ole käytetty viimeksi kuluneiden 10 päivän aikana kotihakemistossa.,

find /home -atime +10

– Tiedostot käsiksi tarkalleen 10 päivää sitten

find /home -atime 10

Käyttää viimeisen 10 päivän aikana

find /home -atime -10

Etsi tiedostoja, joita on muutettu viimeisen n päivää

Voit myös etsiä tiedostoja /home hakemisto muutettu viimeisen 10 päivää komennolla;

find /home -mtime -10 

Etsi tiedostoja, joita on muutettu tiettynä ajanjaksona.

esimerkiksi kaikki kotihakemistossa 6-15 päivää sitten muutetut tiedostot.,

find /home -type f -mtime +6 -mtime -15

Tiedostot ja hakemistot käyttää viimeisen 10 minuuttia

löytää tiedostot käsiksi viimeisen 10 minuuttia, käytä -amin vaihtoehto.

find . -amin -10 -type f

Lähtö

./.bash_history./.profileroot@ubuntu1804:~#

Hakemistot käyttää viimeisen 10 minuuttia

find . -amin -10 -type d

Etsi tiedostot vastaavat erityiset oikeudet

Syntax:

$ find -perm mode

Missä tilassa on lupa, joka on joko numeerinen, esimerkiksi 644, 655, 700, 777, jne., tai kirjaimet, kuten u=x, a=r+x, jne.,

voit määrittää moodin seuraavilla kolmella eri tavalla.

  1. ilman etuliitettä, kun haluat löytää tiedostoja, joissa on määritellyt tarkat käyttöoikeudet.
  2. With ”-” for files with at least the specified permission. Tämä palauttaa tiedostoja määritetyillä sekä muita korkeampia käyttöoikeuksia.
  3. käyttämällä ”/” edellyttää omistajan tai ryhmän täsmentämistä tiedostoon annetulla luvalla.,

Etsi tiedostoja lupaa 777

find -perm 777

Lähtö

./file1

Etsi tiedostot, joissa on vähintään 766
etsi -perm -766

Lähtö

./file2./file1

komento näyttää kaikki tiedostot, joihin

  • tiedoston omistajalla on luku – /kirjoitus – /suoritusoikeudet.
  • Ryhmä on luku/kirjoitus-käyttöoikeudet
  • Muut on luku/kirjoitus-oikeuksia

Kuten niin, se palaa kaksi-tiedostot, jotka täyttävät tämän kriteerin – tiedosto1 ja tiedosto2., Tiedostoilla ei tarvitse olla tarkkoja 766 käyttöoikeuksia ja niillä voi olla lisäoikeuksia niin kauan, mutta niillä on oltava ainakin määritellyt.

Etsi tiedostot kirjoitettavissa omistaja

– Meillä on nyt käyttää ”/” etsii tiedostoja kirjoitettavissa joko niiden omistaja tai ryhmä, tai muita.

find -perm /222../file2./file3./file1

edellä etsii tiedostoja, jotka ovat kirjoitettavissa joko niiden omistaja tai ryhmä.
Tämä palauttaa tiedostoja, jotka ovat kirjoitettavissa joko, mutta ei välttämättä molempia. Jos haluat nähdä tiedostoja, joissa molemmilla on kirjoitettavat oikeudet, käytä – etuliitettä.,

./file2./file1

Etsi tiedostoja käyttäjän omistamia

Löytää kaikki tiedostot omistaa Jack

find /home -user jack

Lähtö

/home/jack/home/jack/examples.desktop/home/jack/.gnupg/home/jack/.gnupg/private-keys-v1.d/home/jack/ans.cgi

Etsi tiettyjä tiedostoja käyttäjän omistamia

Löytää kaikki tekstitiedostoja omistaa Jack

find /home -user jack -iname "*.txt"

Lähtö

/home/jack/docs/file32.txt

Etsi ja listaa tiedostot ja hakemistot ja niiden oikeudet

find -name "*.conf" | ls -l

Lähtö

Etsi ja act tulokset

tässä osiossa me tarkastelemme, miten voit toimia tiedostoja, jotka vastaavat mallia määritelty etsi-komennolla.,

Etsi tiedostoja ja muuta käyttöoikeuksia

Etsi ja muuta tiettyjen tiedostotyyppien käyttöoikeuksia. Meidän tapauksessamme, työskentelemme PHP tiedostoja eri käyttöoikeudet kuten alla.,

– Meillä on nyt etsiä kaikki PHP-tiedostot (yllä) ja vaihda niiden käyttöoikeuksia 755

find ver -name "*.php" -type f -exec chmod 755 {} ;

komento näyttää PHP tiedostot ver hakemisto ja asettaa sitten niiden lupaa 755 (rwxr-xr-x)

Tuloksia

Löytää ja muuttaa tiedostojen ja hakemistojen käyttöoikeudet

Etsi tiedostot, joissa on 644 oikeudet ja muuttaa niitä on 655 käyttöoikeudet

find . -type f -perm 644 -exec chmod 655 {} ;

Voit myös etsiä hakemistoja 644 oikeudet ja korvata tämän 755.,

find . -type d -perm 644

Lähtö

./docs 

docs-kansiossa on 644 oikeudet

drwxrwxr-x 2 jack jack 4096 Jan 3 12:45 docs

asettaa sen 755, me ajaa

find . -type d -perm 644 -exec chmod 755 {} ;

Nyt voimme tarkistaa uudelleen, jotta näet, mitä 755

find . -type d -perm 755

Lähtö
.
./ docs

ylhäältä näemme juuri-ja docs-hakemistoissa on 755 käyttöoikeutta.,

Ls –la komento antaa seuraavat tiedot

drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

Etsi ja kopioida tiedostoja tai hakemistoja

Löytää ja kopioida tietyn tiedoston hakemistoon

– komennon alla löydät file22.txt-tiedosto ja kopioi se ~/tmp/images hakemisto.,

find -iname file22.txt -exec cp {} ~/tmp/images ;

Etsi ja kopioi yksi tyyppi tiedostoja hakemistoon

löytää tiedostoja, kuten kuvia jpg laajennus nykyisen hakemiston ja kopioi ne eri paikkaan kuin kuvat-kansioon, käytä;

find -iname '*.jpg' -exec cp {} ~/tmp/images ;

Tämä löytää ja kopioi kaikki jpg-tiedostot ~/tmp/images kansio.

Etsi ja kopioi yhden tiedoston monet hakemistoja

Etsi ja kopioi yhden useita hakemistoja.,

find ~/tmp/dir1/ ~/tmp/dir2/ $HOME/3/ -maxdepth 0 -exec cp ~/numeric/hci {} ;

Tämä löytää tiedoston hci-tiedosto ja kopioi se kolme hakemistoja /tmp/dir1/ /tmp/dir2/ ja $HOME/3/

Löytää ja siirtää tiedostoja toiseen hakemistoon

siirrä tunnettu tiedosto hakemistosta toiseen., Siirrä universal.php tiedosto;

find ~/folder/ -type f -name universal.php -exec mv {} ~/numeric/ ;

Etsiä ja siirtää tiedostoja, joilla on tietty tiedostotunniste toiseen kansioon

find ~/numeric/ -type f -name '*.php' -exec mv {} ~/folder/ ;

Etsi tiettyjä tiedostoja ja siirtyä tiettyyn toiseen kansioon

find -type f -name uni*.* -exec mv {} ~/unifiles/ ;

komento näyttää kaikki tiedostot, joiden nimet alkavat uni ja joilla on jokin tiedostotunnistetta. Se sitten siirtää ne hakemistoon /unifiles/

Löytää ja siirtää tiedostoja perustuu age

Löytää ja siirtää tiedostoja vanhempi kuin määritetty päivä eri paikkaan, kuten arkisto.,

find /path/ -type f -name '*.pdf' -mtime +20 -exec mv {} /backup1/ ;

Tämä näyttää pdf-tiedostoja vanhempi kuin 20 päivää ja siirrä ne backup1-hakemistoon.,tiedostojen ja hakemistojen

syntaksi löytää ja poistaa tiedostoja tai hakemistoja tässä hakemistossa on.

find . -type f -name "file to delete" -exec rm -f {} ; voit poistaa tiedostoja vain, tai

find . -type d -name "dir-to-delete" -exec rm -rf {} ; poistaa hakemistoja vain

Löytää ja poistaa tiettyjä tiedostoja vain

löytää ja poistaa tiedostoja, alkaen ennen, käyttää;

find . -type f -name "til*" -exec rm {} ; 

löytää ja poistaa hakemistoja alkaen, kunnes

find . -type d -name "til*" -exec rm {} ;

Poista molemmat tiedostot ja hakemistot

find . -name "til*" -exec rm -rf {} ; 

Tämä poistaa molemmat tiedostot ja hakemistot alkaen kirjaimet ennen kuin.,

Poista laajennus

Alla on, miten voit etsiä ja poistaa kaikki txt tiedostot nykyisestä hakemistosta. Vaihda txt toisen tiedostotunnistetta kuten bak, pdf tai muita, jotka haluat poistaa.

find . -type f -name "*.txt" -exec rm -f {} ;

jos haluat, että järjestelmä pyytää sinua vahvistamaan ennen kunkin tiedoston poistamista, lisää -minä vaihtoehto alla.,

find . -type f -name "*.txt" -exec rm -i {} ;

Lähtö

oletuksena -rm ei poista hakemistoja ja sinun täytyy käyttää –r mahdollisuus varmistaa rekursiivinen poisto. Näin varmistetaan tyhjien hakemistojen ja tiedostoja sisältävien hakemistojen poistaminen. -f – vaihtoehto pakottaa poiston ja sitä käytetään sekä tiedostoissa että hakemistoissa.

Etsi ja poista n päivää vanhempia tiedostoja

Etsi ja poista yli 20 päivää vanhempia varmuuskopiotiedostoja nykyisestä hakemistosta.,

find . -type f -name '*.bak' -mtime +20 -exec rm {} ;

Tämä poistaa kaikki .bak tiedostot vanhempi kuin 20 päivää.

Löytää ja poistaa hakemistoja vain

jos Haluat poistaa hakemiston, jota kutsutaan nimellä dir22

find . -type d -name dir22 -exec rm -rf {} ;

Varmista, että olet ottelu hakemiston nimi asia tai käytä -iname vaihtoehto.

find . -type d -iname Dir22 -exec rm -rf {} ;

Poistaa molemmat Dir22 ja dir22

vahvista ennen poistamista, käytä-i-vaihtoehto.

find . -type d -iname Dir22 -exec rm -rf -i {} ;

Lähtö
rm: poista hakemisto ’./ Dir22’?, n
rm: remove directory”./ dir22′? y

– meidän tapauksessamme, me kirjoitetaan n hakemisto Dir22 joka ei voi poistaa ja y varten dir22, joka on nyt poistettu.

Etsi ja poista tyhjät tiedostot

voit käyttää mitä tahansa seuraavista komennoista tyhjien tiedostojen paikantamiseen ja niiden poistamiseen automaattisesti.

find ./ -type f -size 0 -exec rm -f {} ;

tai
etsi ./ – type f-size 0 / xargs rm-F
tai
find .,/ -type f -koko 0 –poistaa

Löytää ja poistaa tyhjiä hakemistoja

poistaa tyhjät hakemistot käytämme d vaihtoehto.

find ./ -type d -empty -exec rmdir {} ;

Toinen vaihtoehto on käyttää poista sen sijaan poistaa.

find ./ -type d -empty -delete

huomaathan, että poistamalla järjestelmän tai kriittisiä tiedostoja tietokoneessa voi vahingoittaa käyttöjärjestelmää tai sovelluksia, tai johtaa menetykseen tärkeitä tietoja.

tahattomien poistojen välttämiseksi on parasta käyttää ei-root-käyttäjätiliä., Myös, varmista, että olet poistamalla oikeat tiedostot, jotka eivät ole hyödyllisiä ja että sinulla on varmuuskopio kaikki tiedostot varmuuden vuoksi.

mitä seuraavaksi?

mene eteenpäin ja kokeile yllä olevia Linux find-komentoja laboratoriossa tai muussa kuin tuotantoympäristössä. Katso, jos voit käyttää joitakin automatisoida tiedostojärjestelmän siivous kanssa Crontab. Ja, master Linux, tutustu tämän verkkokurssin.

Vastaa

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

Siirry työkalupalkkiin