DevOps-bootcamp · Oppitunti

Komentotulkin laajennus ja jokerimerkit

Ymmärtäkää, miten komentotulkki laajentaa komentoja, mukaan lukien aaltosulke- ja tilde-laajennukset sekä tiedostonimien jokerimerkkikuviot.

Oppitunti 2/412 vaihetta

Komentotulkin laajennus ja jokerimerkit on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 2/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.

Mitä shell-laajennus on?

Linuxissa shell toimii ikään kuin sinun ja käyttöjärjestelmän välisenä tulkkina. Ennen kuin shell suorittaa komennon, se tekee usein eräänlaista "taikuutta", jota kutsutaan laajennukseksi.

Shell-laajennuksessa shell etsii komennostasi erikoismerkkejä tai kuvioita ja korvaa ne jollakin muulla. Tämä tapahtuu ennen kuin komento suoritetaan, mikä vähentää kirjoittamisen tarvetta ja tekee komennoista tehokkaampia!

Kotihakemistosi tildellä `~`

Tildelaajennus (~) on erittäin kätevä oikotie. Se laajennetaan automaattisesti nykyisen käyttäjän kotihakemistoksi.

Sen sijaan että kirjoittaisit /home/yourusername, voit käyttää pelkkää merkkiä ~. Tämä on erityisen hyödyllistä, kun siirryt kotikansiossa tai viittaat siellä oleviin tiedostoihin.

echo ~
echo ~/Documents

Tilde muiden käyttäjien kanssa

Tilde ei ole tarkoitettu vain omaan kotihakemistoosi! Sen avulla voit viitata myös toisen käyttäjän kotihakemistoon.

Kun kirjoitat ~username, shell laajentaa sen määritetyn käyttäjän "username" kotihakemistoksi. Tämä on kätevää jaettujen tiedostojen tai asetusten käyttämiseen.

  • ~root laajennetaan muotoon /root
  • ~guest laajennetaan muotoon /home/guest

Aaltosulkulaajennus `{}`

Aaltosulkulaajennuksen avulla voit luoda mielivaltaisia merkkijonoja. Se on nopea tapa luoda yhdestä kuviosta useita kohteita ilman, että niitä tarvitsee kirjoittaa yksitellen.

Shell laajentaa aaltosulkeiden {} sisällä olevan sisällön erillisten sanojen luetteloksi. Tämä on erittäin hyödyllistä, kun luot samankaltaisesti nimettyjä tiedostoja tai hakemistoja tai suoritat komentoja useille kohteille.

echo {apple,banana,cherry}

Aaltosulkulaajennuksen välit

Aaltosulkulaajennuksella voi luoda myös numero- tai kirjainsarjoja. Tämä tehdään käyttämällä aaltosulkeiden sisällä kahta ..-merkillä erotettua kohdetta.

Shell luo kaikki sarjan kohteet, joten numeroitujen tiedostojen tai hakemistojen luominen ja arvojoukon läpikäynti on helppoa.

echo file_{1..3}.txt
echo {a..c}_report.log

Johdatus globbaukseen

Globbaus on shellin tapa etsiä tiedosto- ja polkunimiä erityisten jokerimerkkien avulla. Se muistuttaa hakukuvion käyttämistä tiedostojen etsimiseen.

Kun kirjoitat komennon, kuten ls *.txt, shell ei välitä merkkijonoa *.txt komennolle ls. Sen sijaan se laajentaa merkkijonon *.txt luetteloksi kaikista nykyisessä hakemistossa olevista täsmäävistä tiedostoista ja välittää luettelon sitten komennolle ls.

Kaikkien täsmäyttäminen merkillä `*`

Tähtimerkki (*) on yleisin jokerimerkki. Se vastaa tiedostonimessä nollaa tai useampaa merkkiä.

Sen avulla voit täsmäyttää minkä tahansa merkkijonon, joten se on erittäin monipuolinen tapa valita tiedostoja niiden nimien osien perusteella.

mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_test

Yhden täsmäyttäminen merkillä `?`

Kysymysmerkki (?) vastaa täsmälleen yhtä merkkiä.

Tämä on hyödyllistä, kun tiedät täsmäytettävän tiedostonimen osan tarkan pituuden, mutta et itse merkkiä.

mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_test

Tiettyjen merkkien täsmäyttäminen `[]`

Hakasulkeilla ([]) voit täsmäyttää minkä tahansa yksittäisen merkin määritetystä merkkijoukosta.

Tämä mahdollistaa tarkemman täsmäytyksen kuin ?. Voit luetella yksittäisiä merkkejä tai määrittää välin, esimerkiksi [a-z] vastaa mitä tahansa pientä kirjainta ja [0-9] mitä tahansa numeroa.

mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_test

Globbauskuvioiden yhdistäminen

Voit yhdistää erilaisia globbauskuvioita ja jopa aaltosulkulaajennusta tehokasta tiedostojen valintaa varten.

Shell käsittelee nämä laajennukset vasemmalta oikealle ja muodostaa monimutkaisia kuvioita, jotka täsmäävät juuri tarvitsemiisi kohteisiin.

mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_test

Pikatarkistus

Millä seuraavista komennoista luetellaan tiedostot report1.doc, report2.doc ja report3.doc, mutta EI tiedostoa reportA.doc?

Kertaus ja seuraavat vaiheet

Hienoa työtä! Olet oppinut, miten shell laajentaa komentoja jo ennen niiden suorittamista. Tämä "taikuus" tehostaa komentorivin käyttöä huomattavasti.

  • Tildelaajennus (~): Kotihakemistojen oikotie.
  • Aaltosulkulaajennus ({}): Luo mukautettuja merkkijonoja tai sarjoja.
  • Globbaus (*, ?, []): Täsmäyttää tiedostonimiä jokerimerkkien avulla ja mahdollistaa tehokkaan kuvioihin perustuvan valinnan.

Näiden laajennusten ymmärtäminen on tärkeää tehokkaiden ja tiiviiden komentojen kirjoittamisessa. Jatka niiden harjoittelua!

Aloita maksutta

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 ”Komentotulkin laajennus ja jokerimerkit” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Komentotulkin laajennus ja jokerimerkit”. 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 ”Komentotulkin laajennus ja jokerimerkit”?

Ymmärtäkää, miten komentotulkki laajentaa komentoja, mukaan lukien aaltosulke- ja tilde-laajennukset sekä tiedostonimien jokerimerkkikuviot. 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 2/4.

Kuinka kauan ”Komentotulkin laajennus ja jokerimerkit”-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

  1. Työnohjaus (bg, fg, jobs)
  2. Komentotulkin laajennus ja jokerimerkit
  3. Aliakset ja mukautetut kehotteet
  4. Shell-funktiot ja uudelleenkäytettävät koodinpätkät
← Takaisin: DevOps-bootcamp