Ero sivun ”Komentotulkki” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(/bin/sh, skriptit ryhmitelty, muutoksia kuvauksiin, chsh-varoitus, perusominaisuuksia)
(tarkennuksia)
Rivi 1: Rivi 1:
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 [[jakelu]]issa.
Unix-tyyppisille järjestelmille on saatavilla laaja valikoima erilaisia komentotulkkeja. Ylivoimaisesti suosituin komentulkki on monipuolisesti muokattava ja tavallisimmat ominaisuudet tarjoava [[bash]], joka myös on oletuskomentotulkkina suurimmassa osassa [[jakelu]]ita.


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.
Monet järjestelmän [[asetustiedostot]] ovat itse asiassa komentotulkilla tulkittavia ''skriptejä'' (katso [[bash-skriptaus]]). Näiden ensimmäisellä rivillä kerrotaan 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, ksh ja zsh) yrittävät toimia yhteensopivasti aidon sh:n kanssa.


== Komentotulkin ominaisuuksia ==
== Komentotulkin ominaisuuksia ==
 
Nykyaikaisen komentotulkin ominaisuuksiin kuuluu mm.
Nykyaikaisen komentotulkin perusominaisuuksiin kuuluu mm.
* [[alias|Aliakset]], skriptit ja funktiot, joilla voi kirjoittaa usein tarvittavan toiminnallisuuden helposti ulottuville.
* aliakset, skriptit ja funktiot, joilla voi kirjoittaa usein tarvittavan toiminnallisuuden helposti ulottuviin
* Komentohistoria: aikaisemmin annettuja komentoja voi selata ja niihin suorittaa hakuja. Komentohistorian koko voidaan määrittää, samoin kuin vaikkapa se, halutaanko identtisten komentojen tallentuvan monta kertaa peräkkäin komentohistoriaan.
* komentohistoria: aikaisemmin annettuja komentoja voi selata ja käyttää hyödyksi
* Sanatäydennys: TAB-näppäintä painamalla tulkki kirjoittaa loput tiedostonimestä, komennon nimestä tms. tai esittää mahdolliset (tai todennäköisimmät, joitakin valintoja rajataan joskus oletuksena pois) valinnat. Osa komentotulkeista tukee myös mm. tavallisimpien komentojen valitsinten täydennystä, väärin kirjoitetun täydennettävän merkkijonon "oikolukua", täydennyksen aloittamista myös merkkijonon loppupäästä sekä täydennysvaihtoehtojen esittämistä nuolinäppäimillä navigoitavassa valikossa.
* 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.).
* ehtolauseet ja muu logiikka (if, while yms.)
* Putkitus, syötteen ja tulosteen ohjaus.
* putkitus, syötteen ja tulosteen ohjaus
<!-- listaa pitäisi jatkaa -->
<!-- listaa pitäisi jatkaa -->


Rivi 16: Rivi 15:


== Komentotulkkeja ==
== Komentotulkkeja ==
 
*[[sh]] eli ''Bourne shell'' oli Unixin alkuperäinen komentotulkki ja sillä nimellä kutsutaan yleensä komentotulkkia [[skripti|skripteistä]], jollei kaivata minkään tietyn komentotulkin erityispiirteitä.
*[[sh]] oli Unixin alkuperäinen komentotulkki ja sillä nimellä kutsutaan yleensä komentotulkkia [[skripti|skripteistä]], jollei kaivata minkään tietyn komentotulkin erityispiirteitä.
*[[ash]] tai sen pohjalta kehitetty [[dash]] on usein käytössä pelkistetymmissä ympäristöissä, kuten asennuksen, järjestelmän käynnistyksen tai virheenkorjauksen yhteydessä. Mm. [[Ubuntu]]ssa /bin/sh on [[symbolinen linkki|symlinkattu]] dashiin.
*[[ash]] tai [[dash]] on usein käytössä pelkistetymmissä ympäristöissä, kuten asennuksen, bootin tai virheenkorjauksen yhteydessä. [[Ubuntu]]ssa /bin/sh on [[symbolinen linkki|symlinkattu]] dashiin.
*[[bash]] on [[GNU]]-projektin kehittynyt sh-muunnos, Linux-maailman ylivoimaisesti käytetyin komentotulkki.
*[[bash]] on [[GNU]]-projektin kehittynyt sh-muunnos, Linux-maailman ylivoimaisesti käytetyin komentotulkki.
* [[ksh]] – kehittynyt sh:n muunnos, etenkin skriptitulkin ominaisuuksia korostava komentotulkki<!--[[wikipedia:fi:POSIX|POSIX]]in standardikomentotulkki; mistä tämä väite? en löydä perusteita wikipedian ksh- tai posix-artikkeleistä enkä ksh:n kotisivulta-->, vapaa ksh:n korvaajaksi kehitetty komentotulkki on [[pdksh]].
* [[ksh]] – kehittynyt sh:n muunnos, etenkin skriptitulkin ominaisuuksia korostava komentotulkki<!--[[wikipedia:fi:POSIX|POSIX]]in standardikomentotulkki; mistä tämä väite? en löydä perusteita wikipedian ksh- tai posix-artikkeleistä enkä ksh:n kotisivulta-->, 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.
*[[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ä. Toimintojen määrä on suurin piirtein sama kuin bashissa. Tcsh:n ja csh:n erityispiirteenä on [[C]]-ohjelmointikieltä jäljittelevä syntaksi, joka tulee esille erityisesti skriptauksessa.
*[[Zsh]] tarjoaa laajaa toimintovalikoimaa sekä laajennettavuutta.
*[[zsh]] on melko suosittu sh-johdannainen komentotulkki, joka tarjoaa laajaa toimintovalikoimaa sekä laajennettavuutta.


Erikoisia, vähemmän tunnettuja komentotulkkeja on
Erikoisia, vähemmän tunnettuja komentotulkkeja on
* [[advsh]] – seikkailupeleistä inspiraationsa saanut komentotulkki
* [[advsh]] – seikkailupeleistä inspiraationsa saanut komentotulkki
* [[es]] – paranneltu versio rc-komentotulkista
* [[es]] – paranneltu versio rc-komentotulkista
* [[fish]] – aloittelijaystävällisyyteen keskittyvä, runsaasti ajonaikaista ohjeistusta sisältävä komentotulkki.
* [[fish]] – uusi, aloittelijaystävällisyyteen keskittyvä, runsaasti ajonaikaista ohjeistusta sisältävä komentotulkki.
* [[psh]] – syntaksiltaan [[Perl]]iä jäljittelevä komentulkki
* [[psh]] – syntaksiltaan [[Perl]]iä jäljittelevä komentulkki
* [[rc]] – bashiin pohjautuva, mutta syntaksiltaan paranneltu 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.  
Käyttäjä voi vaihtaa kirjautuessa avattavaa komentotulkkia komennolla [[chsh]]. Vähintään root-tunnuksella kannattaa säilyttää jokin turvalliseksi ja toimivaksi todettu komentotulkki. Eri komentotulkkeja voi kokeilla tai käyttää väliaikaisesti antamalla niiden nimi tavallisena komentona.  


[[Luokka:Käsitteet]]
[[Luokka:Käsitteet]]
[[Luokka:Komentotulkit]]
[[Luokka:Komentotulkit]]

Versio 3. helmikuuta 2008 kello 18.25

Unix-tyyppisille järjestelmille on saatavilla laaja valikoima erilaisia komentotulkkeja. Ylivoimaisesti suosituin komentulkki on monipuolisesti muokattava ja tavallisimmat ominaisuudet tarjoava bash, joka myös on oletuskomentotulkkina suurimmassa osassa jakeluita.

Monet järjestelmän asetustiedostot ovat itse asiassa komentotulkilla tulkittavia skriptejä (katso bash-skriptaus). Näiden ensimmäisellä rivillä kerrotaan 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, ksh ja zsh) yrittävät toimia yhteensopivasti aidon sh:n kanssa.

Komentotulkin ominaisuuksia

Nykyaikaisen komentotulkin ominaisuuksiin kuuluu mm.

  • Aliakset, skriptit ja funktiot, joilla voi kirjoittaa usein tarvittavan toiminnallisuuden helposti ulottuville.
  • Komentohistoria: aikaisemmin annettuja komentoja voi selata ja niihin suorittaa hakuja. Komentohistorian koko voidaan määrittää, samoin kuin vaikkapa se, halutaanko identtisten komentojen tallentuvan monta kertaa peräkkäin komentohistoriaan.
  • Sanatäydennys: TAB-näppäintä painamalla tulkki kirjoittaa loput tiedostonimestä, komennon nimestä tms. tai esittää mahdolliset (tai todennäköisimmät, joitakin valintoja rajataan joskus oletuksena pois) valinnat. Osa komentotulkeista tukee myös mm. tavallisimpien komentojen valitsinten täydennystä, väärin kirjoitetun täydennettävän merkkijonon "oikolukua", täydennyksen aloittamista myös merkkijonon loppupäästä sekä täydennysvaihtoehtojen esittämistä nuolinäppäimillä navigoitavassa valikossa.
  • Ehtolauseet ja muu logiikka (if, while yms.).
  • Putkitus, syötteen ja tulosteen ohjaus.

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

Komentotulkkeja

  • sh eli Bourne shell oli Unixin alkuperäinen komentotulkki ja sillä nimellä kutsutaan yleensä komentotulkkia skripteistä, jollei kaivata minkään tietyn komentotulkin erityispiirteitä.
  • ash tai sen pohjalta kehitetty dash on usein käytössä pelkistetymmissä ympäristöissä, kuten asennuksen, järjestelmän käynnistyksen tai virheenkorjauksen yhteydessä. Mm. 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ä. Toimintojen määrä on suurin piirtein sama kuin bashissa. Tcsh:n ja csh:n erityispiirteenä on C-ohjelmointikieltä jäljittelevä syntaksi, joka tulee esille erityisesti skriptauksessa.
  • zsh on melko suosittu sh-johdannainen komentotulkki, joka tarjoaa laajaa toimintovalikoimaa sekä laajennettavuutta.

Erikoisia, vähemmän tunnettuja komentotulkkeja on

  • advsh – seikkailupeleistä inspiraationsa saanut komentotulkki
  • es – paranneltu versio rc-komentotulkista
  • fish – uusi, 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ää jokin turvalliseksi ja toimivaksi todettu komentotulkki. Eri komentotulkkeja voi kokeilla tai käyttää väliaikaisesti antamalla niiden nimi tavallisena komentona.