Tiedostojen etsiminen (find, grep)
Tutustukaa tehokkaisiin komentoihin, kuten 'find' ja 'grep', joilla järjestelmästä paikannetaan tiedostoja ja tiedostojen tiettyjä tekstikuvioita.
Tiedostojen etsiminen (find, grep) on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Miksi Linuxissa etsitään?
Tiedostojen ja tekstin etsiminen on Linuxissa jokapäiväinen tehtävä. Kuvitelkaa, että tarvitsette löytää tietyn asetustiedoston tai koodirivin suuresta projektista!
Opitte kaksi tehokasta komentoa: find tiedostojen ja hakemistojen paikantamiseen sekä grep tekstikaavojen etsimiseen tiedostojen *sisältä*.
Tutustuminen `find`-komentoon
find-komento etsii tiedostoja ja hakemistoja hakemistohierarkiasta. Se on erittäin joustava!
Sen perusrakenne on: find [path] [expression]. [path] kertoo find-komennolle, mistä etsintä aloitetaan, ja [expression] määrittää, mitä etsitään.
Tiedostojen etsiminen nimen perusteella
Yleisin tapa käyttää find-komentoa on etsiä nimen perusteella -name-valitsimella. Voitte käyttää jokerimerkkejä, kuten *.
Etsitään nykyisestä hakemistosta kaikki tiedostot, joiden pääte on .txt.
cd /tmp
touch report.txt document.pdf notes.txt
find . -name "*.txt"Tiedostojen etsiminen tyypin perusteella
Voitte määrittää -type-valitsimella, minkä tyyppisiä kohteita find etsii:
ftavallisille tiedostoilledhakemistoille
Etsitään nykyisestä sijainnista kaikki hakemistot.
cd /tmp
mkdir mydir anotherdir
touch file.txt
find . -type dTiedostojen etsiminen koon perusteella
Tarvitsetteko löytää suuria tiedostoja? Käyttäkää -size-valitsinta. Voitte määrittää yksiköitä, kuten c (tavua), k (kilotavua), M (megatavua) ja G (gigatavua).
+10M: suurempi kuin 10 Mt-5k: pienempi kuin 5 kt100c: täsmälleen 100 tavua
Etsitään yli 1 kt:n kokoiset tiedostot.
cd /tmp
dd if=/dev/zero of=small_file bs=100 count=1 2>/dev/null
dd if=/dev/zero of=large_file bs=2k count=1 2>/dev/null
find . -size +1k`grep`-komennon esittely
Kun find paikantaa tiedostoja, grep (Global Regular Expression Print) etsii tiettyjä tekstikaavoja tiedostojen *sisältä*.
Sen perussyntaksi on: grep [pattern] [file...]. [pattern] on etsittävä teksti ja [file...] tiedostot, joista etsitään.
`grep` yksinkertaiselle tekstille
Luodaan yksinkertainen tekstitiedosto ja käytetään grep-komentoa sanan etsimiseen siitä. grep tulostaa jokaisen rivin, joka sisältää kaavan.
cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "CoddyKit is fun." >> greeting.txt
grep "CoddyKit" greeting.txt`grep`-valitsimet: -i ja -n
Kaksi hyödyllistä grep-valitsinta:
-i: Ohittaa kirjainkoon haun aikana.-n: Näyttää osuman sisältävän rivin numeron.
Etsitään "coddykit" kirjainkoosta riippumatta ja tarkastellaan rivinumeroita.
cd /tmp
echo "Hello CoddyKit learners!" > greeting.txt
echo "This is a great lesson." >> greeting.txt
echo "coddykit is fun." >> greeting.txt
grep -i -n "coddykit" greeting.txt`find`- ja `grep`-komentojen yhdistäminen
Voitte yhdistää find- ja grep-komennot tiedostojen *ja* niiden sisällön etsimiseen. find-komennon -exec-valitsimella voitte suorittaa toisen komennon jokaiselle löydetylle tiedostolle.
Tässä etsimme kaikki .txt-tiedostot ja haemme niistä merkkijonoa "CoddyKit".
cd /tmp
echo "Hello CoddyKit" > file1.txt
echo "Hello World" > file2.txt
echo "CoddyKit rocks" > file3.txt
find . -name "*.txt" -exec grep -l "CoddyKit" {} +Pikatarkistus
Käytössänne on hakemisto, jossa on useita tiedostoja. Millä komennolla löydätte kaikki tiedostot, joiden nimi on log.txt tai error.log ja joiden koko on yli 50 kt?
Kertaus: Tiedostojen etsiminen
Hienoa työtä! Olette oppineet etsimään tehokkaasti tiedostoja ja niiden sisältöä Linuxissa:
find: Paikantaa tiedostoja ja hakemistoja eri ehtojen, kuten nimen, tyypin ja koon, perusteella.grep: Etsii tiedostojen *sisältä* tiettyjä tekstikaavoja ja tarjoaa muun muassa kirjainkoosta riippumattoman haun ja rivinumeroiden näytön.- Opitte myös, miten
find- jagrep-komennot toimivat yhdessä tehokkaassa sisällönhaussa.
Harjoitelkaa näitä komentoja, jotta Linuxissa liikkuminen tulee sujuvaksi!
Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Tiedostojen etsiminen (find, grep)” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Tiedostojen etsiminen (find, grep)”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Tiedostojen etsiminen (find, grep)”?
Tutustukaa tehokkaisiin komentoihin, kuten 'find' ja 'grep', joilla järjestelmästä paikannetaan tiedostoja ja tiedostojen tiettyjä tekstikuvioita. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Tiedostojen etsiminen (find, grep)”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tiedoston sisällön tarkastelu (cat, less, head, tail)
- Tiedostojen käyttöoikeuksien ymmärtäminen (chmod, chown)
- Tiedostojen etsiminen (find, grep)
- Linkkien luominen: hard linkit ja symboliset linkit