Komentotulkki

Linux.fista
Versio hetkellä 3. helmikuuta 2008 kello 14.14 – tehnyt LP (keskustelu | muokkaukset) (/bin/sh, skriptit ryhmitelty, muutoksia kuvauksiin, chsh-varoitus, perusominaisuuksia)
Siirry navigaatioon Siirry hakuun

Linuxille on saatavilla laaja valikoima erilaisia komentotulkkeja. Ylivoimaisesti suosituin komentulkki on selkeä, monipuolisesti muokattava ja kaikki perusominaisuudet tarjoava bash, joka myös on oletuskomentotulkkina useimmissa jakeluissa.

Monet asetustiedostot ovat itse asiassa komentotulkilla tulkittavia skriptejä (katso bash-skriptaus). Näiden ensimmäisellä rivillä kerotaan yleensä millä tulkilla ne on tulkittava ja tulkiksi määritellään yleensä /bin/sh, jonka on oltava olemassa. Usein /bin/sh on jokin muu tulkki kuin aito sh, mutta näin käynnistettynä ueimmat komentotulkit (ainakin ash, bash, dask ja ksh) yrittävät toimia yhteensopivasti aidon sh:n kanssa.

Komentotulkin ominaisuuksia

Nykyaikaisen komentotulkin perusominaisuuksiin kuuluu mm.

  • aliakset, skriptit ja funktiot, joilla voi kirjoittaa usein tarvittavan toiminnallisuuden helposti ulottuviin
  • komentohistoria: aikaisemmin annettuja komentoja voi selata ja käyttää hyödyksi
  • sanatäydennys: TAB-näppäintä painamalla tulkki kirjoittaa loput tiedostonimestä tms. tai esittää mahdolliset (tai todennäköisimmät, joitakin valintoja rajataan joskus oletuksena pois) valinnat; komentojen valitsimet yms. eivät sisälly perustoiminnallisuuteen ja on usein erikseen otettava käyttöön
  • ehtolauseet ja muu logiikka (if, while yms.)
  • putkitus, syötteen ja tulosteen ohjaus

Katso myös Komentorivivinkkejä, Bash-skriptaus, Komentorivin perusteet yms.

Komentotulkkeja

  • sh oli Unixin alkuperäinen komentotulkki ja sillä nimellä kutsutaan yleensä komentotulkkia skripteistä, jollei kaivata minkään tietyn komentotulkin erityispiirteitä.
  • ash tai dash on usein käytössä pelkistetymmissä ympäristöissä, kuten asennuksen, bootin tai virheenkorjauksen yhteydessä. Ubuntussa /bin/sh on symlinkattu dashiin.
  • bash on GNU-projektin kehittynyt sh-muunnos, Linux-maailman ylivoimaisesti käytetyin komentotulkki.
  • ksh – kehittynyt sh:n muunnos, etenkin skriptitulkin ominaisuuksia korostava komentotulkki, vapaa ksh:n korvaajaksi kehitetty komentotulkki on pdksh.
  • tcsh, csh:n edelleenkehitetty versio oli pitkään interaktiivisessa käytössä edistyneempi kuin sh ja on siksi käyttäjien oletuskomentotulkkina monessa Unix-järjestelmässä. csh ja tcsh sopivat kuitenkin huonosti skriptaamiseen.
  • Zsh tarjoaa laajaa toimintovalikoimaa sekä laajennettavuutta.

Erikoisia, vähemmän tunnettuja komentotulkkeja on

  • advsh – seikkailupeleistä inspiraationsa saanut komentotulkki
  • es – paranneltu versio rc-komentotulkista
  • fish – aloittelijaystävällisyyteen keskittyvä, runsaasti ajonaikaista ohjeistusta sisältävä komentotulkki.
  • psh – syntaksiltaan Perliä jäljittelevä komentulkki
  • rc – bashiin pohjautuva, mutta syntaksiltaan paranneltu komentulkki

Käyttäjä voi vaihtaa kirjautuessa avattavaa komentotulkkia komennolla chsh. Vähintään root-tunnuksella kannattaa säilyttää turvallinen sh-sukuinen shelli. Eri shellejä voi kokeilla tai käyttää väliaikaisesti kirjoittamalla shellin nimi komentona komentoriville.