Kun käyttäjä on ottanut yhteyden Unix-koneeseen, ollaan ns. komentotilassa, jonka merkkinä on kehote ja jossa käyttäjän kirjoittamat rivit käsittelee komentotulkki eli shell. Komentotulkki voi käynnistää eri ohjelmia sen mukaan, mitä käyttäjä komennoilla käskee.
Unix-koneissa on käytettävissä
useita erilaisia komentotulkkeja.
Vanhin, eräänlainen perus-shell on Bourne shell,
tiedostonimeltään sh
.
Tämän oppaan kirjoittaja suosii
T-shelliä tcsh
,
joka kuuluu C-shellien perheeseen.
Oletusarvoisesti eli jos et
ole erikseen toisin pyytänyt tai itse järjestänyt, käytössäsi on T-shell.
Sen hienouksiin kuuluu mm. mukava mahdollisuus käyttää hyväksi aiemmin
annettuja komentoja nuolinäppäimillä sekä ns. tiedostonnimien tunnistus
tabulaattorilla.
Komentotulkin voi mahdollisesti vaihtaa komennolla chsh
;
tämä riippuu paikallisista järjestelyistä.
Sallitut komentotulkit näkee tiedostosta
/etc/shells
.
Muutos tulee voimaan seuraavan yhteydenoton alusta ja on pysyvä
(kunnes se erikseen muutetaan).
Jos tarvitset vain tilapäisesti jonkin muun shellin kuin
vakioshellisi piirteitä, voit käynnistää shellin toisen
"alla" (aliprosessina); tämä onnistuu
suoraan shellin nimellä (esim. zsh
).
Komentotulkkia voi pyytää käynnistämään sekä itsenäisesti toimivia ohjelmia
kuten Pine että yksinkertaisia ja lyhyitä ohjelmia,
joilla ei ole omia sisäisiä käskyjä.
Näitä lyhyitä ohjelmia kutsutaan joskus komennoiksi, joskus ohjelmiksi,
mikä voi olla hämäävää.
Tavallisimmin puhutaan esim. ls
- tai cp
-komennosta,
mutta itse asiassa ne ovat ohjelmia, jotka komentotulkki käynnistää
erilliseen prosessiin.
Prosessi tarkoittaa lyhyesti sanottuna ohjelman suoritusta.
Sen lisäksi, että komentotulkki käynnistelee prosesseja, prosessit
voivat luoda uusia prosesseja.
Jokin ohjelma voi esim. automaattisesti käynnistää jonkin editorin;
esimerkiksi Pine käynnistää Pico-editorin meilin kirjoittamista varten.
Komentoja sanan varsinaisessa merkityksessä, siis sellaisia, jotka
komentotulkki itse suorittaa, on Unixissa varsin vähän.
Esimerkkinä sellaisista mainittakoon setenv
.
Varsinaisista komennoista ei saa ohjeita man
-komennolla,
vaan niiden ohjeet sisältyvät asianomaisen komentotulkin ohjeisiin;
esimerkiksi setenv
-komennon kuvaus löytyy siitä varsin
laajasta dokumentista, jonka saa komennolla man tcsh
.
Komennolla which
voi selvittää, onko jokin komento
komentotulkin "sisäänrakennettu" komento vai ohjelma. Esimerkki:
epsilon ~ 51 % which rm /bin/rm epsilon ~ 52 % which ps /bin/ps epsilon ~ 53 % which jobs jobs: shell built-in command. epsilon ~ 54 % which which which: shell built-in command. epsilon ~ 55 %