Ero sivun ”Komentorivin perusteet” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(lainausmerkkien käyttö + lisää dollarimerkkejä + linkki erikoisohjelmat-luokkaan)
(ls -l: linkit)
Rivi 25: Rivi 25:
  -rwxr-xr-x      1 kayttaja users    652348  25. tammi  2004      tiedosto2.bin
  -rwxr-xr-x      1 kayttaja users    652348  25. tammi  2004      tiedosto2.bin
  -rw-r--r--      1 kayttaja users    1709160  20. kesä    2002      tiedosto3
  -rw-r--r--      1 kayttaja users    1709160  20. kesä    2002      tiedosto3
Tässä siis ensimmäiset merkit kertovat [[tiedoston oikeudet]], toisena oleva numero kertoo tiedostojen lukumäärän (lähinnä hakemistoille), sen jälkeen on tiedoston omistajan käyttäjätunnus (''kayttaja'') ja tiedoston omistava ryhmä (''users''). Toinen numeroarvo on tiedoston koko tavuina, jota seuraa viimeisin muokkauspäivämäärä ja tiedoston nimi.
Tässä siis ensimmäiset merkit kertovat [[tiedoston oikeudet]], toisena oleva numero kertoo tiedoston linkkien eli nimien lukumäärän (yleensä yksi muille kuin hakemistoille), sen jälkeen on tiedoston omistajan käyttäjätunnus (''kayttaja'') ja tiedoston omistava ryhmä (''users''). Toinen numeroarvo on tiedoston koko tavuina, jota seuraa viimeisin muokkauspäivämäärä ja tiedoston nimi.


== Komentojen suorittaminen ==
== Komentojen suorittaminen ==

Versio 23. lokakuuta 2007 kello 22.35

Komentorivi on yksi GNU/Linux-järjestelmän tehokkaimmista työkaluista, mutta se voi olla Windows-maailmasta Linuxiin siirtyneelle outo. Windowsissa komentotulkki on varsin rajoittunut ja kömpelö, tosin sitä ei tarvitakaan juuri mihinkään. Linuxissa komentoriviltä hoituvat lähes kaikki mahdolliset tehtävät jopa kätevämmin kuin graafisia työkaluja käyttäen.

Miten komentoriville pääsee?

Useimmat käyttävät Linuxia graafisessa ympäristössä (X), jolloin luontevin tapa komentoriville pääsyyn on käyttää jotakin terminaaliemulaattoria. Yleisimpiä terminaaliemulaattoreita ovat X:n perustyökaluihin kuuluva xterm, KDE:n Konsole sekä GNOMEn gnome-terminal. Nämä löytyvät yleensä työpöytäympäristön valikosta esimerkiksi nimellä pääte, terminaali tai komentorivi. On myös mahdollista käyttää järjestelmän tekstipohjaisia virtuaalikonsoleja (yleensä numeroiltaan 1-6). Näihin pääsee X:stä näppäinyhdistelmällä Ctrl+Alt+<funktionäppäin> (esimerkiksi Ctrl+Alt+F1). Tekstitilassa voi virtuaalikonsolista toiseen siirtyä komennolla Alt+<funktionäppäin> tai Alt+sivunuolinäppäin. X toimii yleensä virtuaalikonsolissa 7, joten takaisin sinne voi siirtyä komennolla Alt+F7.

Jotkut jakelut tarjoavat mahdollisuuden käynnistää koneen vikasieto- tai korjaustilassa, joka käynnistyy suoraan komentoriville. Näin on mahdollista tehdä järjestelmään korjauksia vaikka graafinen ympäristö ei toimisikaan.

Komentotulkki

Komentotulkki (engl. shell) on ohjelma, joka hoitaa komentoriviltä annettujen komentojen suorittamisen. Komentorivin käyttö riippuu siitä, mikä komentotulkki on käytössä. Lähes jokaisessa jakelussa oletuksena on käytössä Bash, joten tämän ohjeen asiat toimivat bashin kanssa. Kuitenkin komentotulkkien välillä ei perusasioissa ole paljoakaan eroa joten ohjeiden pitäisi toimia monissa muissakin komentotulkeissa.

Seuraavissa ohjeissa dollarimerkki ($) tarkoittaa, että komento syötetään tavallisena käyttäjänä ja risuaita (#) sitä, että toimitaan pääkäyttäjänä. Jos rivin alussa ei ole kumpaakaan näistä merkeistä, se tarkoittaa komennon tulostetta.

Hakemistorakenteessa liikkuminen

Hakemistorakenteessa liikkuminen hoituu suurimmaksi osaksi komennolla cd. Esimerkiksi /usr-hakemistoon siirrytään komennolla

$ cd /usr

Nykyisen hakemiston alihakemistoon taas voidaan siirtyä ilman /-merkkiä:

$ cd alihakemisto

Hakemistorakenteessa pääsee yhden hakemiston ylöspäin komennolla

$ cd ..

Hakemiston tiedostot ja alihakemistot näkee komennolla ls. Parametri -l näyttää tarkemmat tiedot jokaisesta tiedostosta (tiedoston oikeudet, omistajan, koon ja muokkauspäivän), ja -a näyttää myös piilotetut tiedostot. Esimerkiksi:

$ ls -l
-rw-rw-rw-      1 kayttaja users    340      25. marras 18:36      tiedosto1
-rwxr-xr-x      1 kayttaja users    652348   25. tammi   2004      tiedosto2.bin
-rw-r--r--      1 kayttaja users    1709160  20. kesä    2002      tiedosto3

Tässä siis ensimmäiset merkit kertovat tiedoston oikeudet, toisena oleva numero kertoo tiedoston linkkien eli nimien lukumäärän (yleensä yksi muille kuin hakemistoille), sen jälkeen on tiedoston omistajan käyttäjätunnus (kayttaja) ja tiedoston omistava ryhmä (users). Toinen numeroarvo on tiedoston koko tavuina, jota seuraa viimeisin muokkauspäivämäärä ja tiedoston nimi.

Komentojen suorittaminen

Mikäli ohjelma löytyy hakemistosta, joka on määritelty $PATH-ympäristömuuttujassa, sen voi suorittaa suoraan ajamalla komennon ohjelmannimi (esimerkiksi ls on ohjelma, joka sijaitsee yleensä polussa /bin). Yleensä näin voidaan suorittaa koko järjestelmään asennetut ohjelmat. $PATH:in sisällön voi tarkistaa seuraavasti:

$ echo $PATH
/usr/kde/3.5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.5:/opt/sun-jdk-1.5.0.06/bin:
/opt/sun-jdk-1.5.0.06/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin:/opt/vmware/workstation/bin:
/usr/share/karamba/bin

Mikäli ajettava ohjelma ei sijaitse $PATH:in määrittelemissä hakemistoissa, se voidaan suorittaa joko viittaamalla siihen koko sen polulla (esim. /home/kayttaja/imuroitua/hienosofta.bin), tai mikäli kyseinen ohjelma on hakemistossa, johon on jo siirrytty, lisäämällä tiedostonimen eteen ./ joka viittaa nykyiseen hakemistoon (huomaa kuitenkin että suoritettavalla tiedostolla on oltava suoritusoikeudet). Esimerkiksi jos hakemistossa /home/kayttaja olisi suoritettava tiedosto nimeltä ohjelma se voitaisiin suorittaa seuraavilla tavoilla:

$ cd /home/kayttaja
$ ./ohjelma

tai

$ /home/kayttaja/ohjelma

Vinkki: Käyttäjän omaan kotihakemistoon (/home/kayttaja) voi viitata tildellä: cd ~

Ohjelman voi myös jättää pyörimään taustalle laittamalla rivin perään merkin &. Tällöin ohjelman tuloste tulee konsoliin, mutta komentorivin normaali käyttö on mahdollista.

Putkitus

Putket (engl. pipes) ovat tapa, jolla yhden ohjelmat tuloste voidaan ohjata toiselle ohjelmalle syötteeksi.

Esimerkiksi komento uname -r näyttää ytimen version:

$ uname -r
2.6.15-ck3-r1

Toisaalta cowsay on mukava pikkuohjelma jolla saa tekstiä lehmän sanomaksi:

$ cowsay Moi linux.fi!
 _______________
< Moi linux.fi! >
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


Kun nämä komennot putkitetaan |-ohjausmerkillä, saadaan aikaan seuraavanlainen tulostus

$ uname -r | cowsay
 _______________
< 2.6.15-ck3-r1 >
 ---------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

|-ohjausmerkki siis antaa ensin suoritetun komennon tulosteen jälkimmäisenä olevan ohjelman syötteeksi. Hyötyä tästä on esimerkiksi tapauksessa, jossa jonkin komennon antama yli yhden ruudullisen pituinen tulostus halutaan antaa lessille syötteeksi. Esimerkiksi kaikki järjestelmän prosessit saa kätevästi selattavaksi putkittamalla komennon ps aux tulosteen lessille:

$ ps aux | less

Tai kun pitkästä tulosteesta haluaa etsiä jotain grepin avulla:

$ ls | grep merkkijono

Joka tulostaisi vain niiden tiedostojen nimen, joiden nimessä esiintyy sana merkkijono.

Tiedostojen putkitus

Ohjelmien tulosteiden lisäksi voi putkittaa myös tiedostoja. Esimerkiksi voit kokeilla luoda pienen tekstitiedoston, ja sitten ajaa komennon cowsay < tiedosto. Tällöin tiedoston sisältö annetaan ohjelmalle (tässä tapauksessa cowsaylle) syötteenä (nk. STDIN). Nyt kun ohjelma lukee syötettä (joka normaalisti olisi näppäimistö), se lukeekin tiedoston sisältöä.

Vastaavasti ohjelman tulostuksen voi ohjata tavallisen komentorivin (STDOUT) sijasta tiedostoon ohjausmerkillä >. Kokeile vaikka komentoa cowsay Moi > tiedosto, ja katso tämän jälkeen tiedoston tiedosto sisältö (cat tiedosto). >-merkin käyttö kirjoittaa tiedoston päälle, mutta >>-ohjausmerkkiä käyttämällä putkesta tulevan tiedon voi kirjoittaa tiedoston perään.

Putkituksen käyttöä kannattaa opetella systemaattisesti, sillä suurin osa komentoriviohjelmista toimii tehokkaasti osana jotain toista ohjelmaa, ja kytkentä niiden välillä tehdään helpoiten putkituksen avulla. Pitkiäkään putkituksia ei kannata pelätä. Putkituksen opettelua voi aloittaa tutkimalla komentoja grep, awk, cat, zcat, less, more, sort, od, du, wc ja ls (katso myös luettelo komentorivikomennoista).

Vieläkin monipuolisemmat putkitukset onnistuvat nk. nimetyn putken avulla.

Esimerkkejä

$ du /etc | sort -nr | head -5
23281   /etc
6851    /etc/opt
4440    /etc/opt/gnome
4073    /etc/opt/gnome/gconf
2569    /etc/X11

Tässä tutkitaan du-komennon avulla sitä, kuinka paljon mikäkin /etc:n hakemisto vie tilaa. Ongelmana tässä on kuitenkin se, että hakemistot ovat oletuksena haku- eikä kokojärjestyksessä. Tämä ratkaistaan komennolla sort -nr, joka lajittelee sille annetun syötteen, eli tässä tapauksessa du:n tulosteen, numeerisesti (valitsin -n) isoimmasta pienimpään (valitsin -r kääntää tulostusjärjestyksen, joka oletuksena olisi pienimmästä isoimpaan). Lopuksi käytetään komentoa head -5 näyttämään sortin tulostuksesta vain viisi ensimmäistä riviä.

Toiminnallisesti sama tulos tulee myös komennolla

$ du /etc | sort -n | tail -5
2569    /etc/X11
4073    /etc/opt/gnome/gconf
4440    /etc/opt/gnome
6851    /etc/opt
23281   /etc

Nyt kuitenkin sillä erotuksella, että tässä tapauksessa tail ottaakin sortin tuloksesta viimeiset rivit, ja sortin tulostusjärjestystä ei käännetä valitsimella -r.

$ du /etc |sort -n |tail -5 |grep X11
2569    /etc/X11

Kun lopuksi poistetaan komennosta vielä grepin avulla kaikki muut rivit paitsi ne, jotka sisältävät merkkijonon X11, saadaan ylläoleva tulostus.

$ du /etc |sort -n |tail -5 |grep -v X11
4073    /etc/opt/gnome/gconf
4440    /etc/opt/gnome
6851    /etc/opt
23281   /etc

Tässä taas grepille on annettu valitsin -v, jolla määritellään grep näyttämään kaikki rivit paitsi ne, joihin sisältyy merkkijono X11.

$ ls /etc |wc -l
270

Tämä puolestaan kertoo, kuinka monta tiedostoa on hakemistossa /etc (wc -l laskee syötteen rivit).

Komentojen ketjutus

Useita komentoja voidaan suorittaa peräkkäin esimerkiksi &&-ohjausmerkillä. Se tarkoittaa, että ensin suoritetaan ensimmäinen ohjelma ja sitten, mikäli se ei palauta virhettä, jälkimmäinen. Esimerkiksi Gentoon paketinhallinnan tietokanta voidaan päivittää komennolla emerge --sync ja tämän jälkeen päivittää koko järjestelmä komennolla emerge -uDNav world. Nämä voidaan yhdistää seuraavalla tavalla:

# emerge --sync && emerge -uDNav world

Joka ensin päivittää tietokannan eli ajaa komennon emerge --sync. Mikäli se ei palauta virhettä, ajetaan jälkimmäinen päivityskomento.

Toisaalta ||-ohjausmerkki toimii päinvaston: jälkimmäinen komento suoritetaan vain mikäli edellinen epäonnistuu, vertaa esimerkiksi:

$ false || cowsay tämä näkyy koska false palauttaa virheen
$ true || cowsay tämä ei näy koska true palauttaa onnistumisen

Komentoja voidaan yhdistellä myös puolipisteellä (;), jolloin minkäänlaista tarkistusta komennon onnistumisesta ei suoriteta. Esimerkiksi seuraavien komentojen tulosteet ovat identtiset

$ false ; cowthink Moi!
$ true ; cowthink Moi!

Täydentäminen tabulaattorilla

Tabulaattorin painelu on keino täydentää komentojen, hakemistojen ja tiedostojen nimiä komentoriville kirjoittamalla vain nimen alku ja painamalla sitten tabulaattoria.

Esimerkiksi mikäli hakemistossa olisi seuraavat alihakemistot:

  • imuroidut
  • pelit
  • pikkupelit

Niin kirjoittamassa hakemistossa ensin

$ cd im

ja painamalla sitten tabulaattoria, täydentyisi rivi muotoon

$ cd imuroidut

Toisaalta kirjoittamalla

$ cd p

ja painamalla tabulaattoria mitään ei tapahdu, koska ei ole selvää, minkä hakemiston haluat valita. Kun tabulaattoria painetaan toisen kerran, tulee näkyviin listaus kaikista vaihtoehdoista, tässä tapauksessa siis hakemistojen "pelit" ja "pikkupelit" nimet.

Eräät komentotulkit tukevat myös esimerkiksi etäkoneiden nimien, käyttäjänimien, prosessinumeroiden sekä komentojen valitsimien täydennystä tabin avulla. Mm. zsh- ja tcsh-komentotulkeissa on mahdollista myös nk. oikoluku, eli väärin kirjoitettujen komentojen tab-täydennys oikeiksi. Esimerkiksi komento mpllayr voitaisiin tällöin täydentää komennoksi mplayer.

Komentojen käynnistäminen taustalle

Voit käynnistää komennon pyörimään taustalle laittamalla &-merkin komennon perään. Esimerkki:

$ xterm &

Käynnistää xtermin ja palauttaa käynnistetyn xterm-prosessin työnumeron ja PID-luvun. Xterm ei kuitenkaan tässä tapauksessa varaa käyttämääsi terminaalia.

Taustalle käynnistetyn ohjelman voi siirtää edustalle komennolla fg. Fg:lle annetaan parametriksi ohjelman työnumero, jonka saa selville myös komennolla jobs. Jos mitään työnumeroa ei anneta, siirretään edustalle viimeksi taustalle siirretty ohjelma. Esimerkiksi seuraava komento siirtäisi työnumeron 2 omaavan ohjelman edustalle:

$ fg %2

Tietyn ohjelman suorituksen voi myös siirtää taustalle bg-komennolla. Tällöin ohjelman suoritus on kuitenkin yleensä ensin keskeytettävä Ctrl + Z -näppäinyhdistelmällä, jotta komennon antaminen olisi mahdollista. Bg:n syntaksi on sama kuin fg:n.

Lainausmerkkien käyttö

Lainausmerkkejä käytetään kertomaan, että niiden välissä oleva merkkijono pitää välittää kokonaisuudessaan eteenpäin tulkitsematta sen merkkejä erikseen. Lainausmerkkejä on käytössä kolmenlaisia, joista jokaisella on oma merkityksensä.

Yksinkertaiset lainausmerkit ('), jotka suomalais-ruotsalaisessa näppäimistössä saa Ä:n ja enterin välisestä napista, saavat komentotulkin välittämään niiden välisen merkkijonon sinällään kutsutulle komennolle, prosessoimatta sitä millään tavalla. Esimerkiksi komento

$ su -c 'chown ida /home/ida -R'

joka suorittaa lainausmerkkien välissä olevan komennon pääkäyttäjän oikeuksilla, johtaisi ilman lainausmerkkejä siihen, että su tulkitsisi vain merkkijonon "chmod" -c-valitsimensa argumentiksi eli suoritettavaksi komennoksi. Loput kolme merkkijonoa tulkittaisiin su:n omiksi argumenteiksi, mikä johtaisi virheilmoitukseen.

2-napista shiftin avulla saatavat tuplalainausmerkit (") poikkeavat yksinkertaisista lainausmerkeistä siinä, että komentotulkki laajentaa niiden sisältämät ympäristömuuttujat ennen merkkijonon syöttämistä komennolle. Esimerkiksi komento

$ echo "$EDITOR on paras"

tulostaisi (esimerkiksi)

emacs on paras

kun taas komento

$ echo '$EDITOR on paras'

tulostaa

$EDITOR on paras

Yleensä ei ole merkitystä, kummanlaisia lainausmerkkejä käyttää, mutta niiden ero on kuitenkin hyvä tiedostaa.

Kolmas lainausmerkkityyppi ovat vasemmalle kallellaan olevat yksinkertaiset lainausmerkit, jotka saa shiftin kanssa +-näppäimen oikealla puolella olevasta napista. Ne aiheuttavat lainausmerkkien sisällä olevan komennon/merkkijonon suorittamisen ennen sen välittämistä eteenpäin. Esimerkiksi komento

$ echo `uname` >appelsiini

loisi uuden tiedoston nimeltä appelsiini, jonka sisällöksi tulisi komennon uname tuloste eli "Linux".

Komentohistoria

Useimmat komentotulkit tukevat komentohistoriaa, joka mahdollistaa aikaisemmin annettujen komentojen selaamisen ja uudelleensuorittamisen. Perustapa aikaisempien komentojen selaamiseen on ylös- ja alasnäppäimet. Komentohistorian alkuun voi yleensä siirtyä näppäimellä Page Up ja loppuun näppäimellä Page Down.

Komentohistoriaan voi suorittaa hakuja näppäinyhdistelmällä Ctrl+R. Tällöin näytetään aina edellinen annetun merkkijonon sisältävä komento. Vanhempia komentoja saa näkyviin painamalla uudestaan Ctrl+R. Ctrl+R-hakua zsh-komentotulkissa:

[jaakko@laptop] ~ % cat /var/log/crond
bck-i-search: cat _

Jotta komentohistoria ei tuhoutuisi komentotulkki-istunnon sulkemisen yhteydessä, tallentavat useimmat komentotulkit sen sisällön tiettyyn tiedostoon. Yleensä tallennus tapahtuu vasta komentotulkin sulkeutuessa, mutta osa komentotulkeista on myös mahdollista säätää tekemään tallennus heti komennon antamisen jälkeen. Bashissa käytetään yleensä komentohistoriatiedostona tiedostoa ~/.bash_history. Myös tiedosto ~/.history on yleinen.

Komentohistoria (nykyinen historia + komentohistoriatiedosto) on mahdollista tulostaa ruudulle komennolla history. Tietyn komentohistorian rivin voi suorittaa uudelleen komennolla !<rivinumero>, esimerkiksi

$ !15256

suorittaisi rivin numero 15256.

Historiatiedoston maksimikokoa säädellään ympäristömuuttujalla $HISTSIZE, jonka oletusarvona bashissa on 500. Usein $HISTSIZE on kuitenkin järkevää säätää äärettömäksi (esimerkiksi arvoon 9999999999), mikä auttaa Ctrl+R-hakujen suorittamista. Nykyisillä koneilla ei historiatiedoston koko yleensä myöskään muodostu ongelmaksi.

Näyttöhistoria

Jo nykyisestä ruutunäkymästä kadonnutta tulostetta voi graafisissa terminaaliemulaattoreissa yleensä selata normaalin vierityspalkin avulla. Tekstipohjaisissa virtuaalikonsoleissa voi tulostetta selata jonkin matkaa taaksepäin näppäinyhdistelmillä Shift+Page Up ja Shift+Page Down. Nämä näppäinyhdistelmät toimivat myös terminaaliemulaattoreissa.

Koska näyttöhistorian pituutta on yleensä myös terminaaliemulaattoreissa rajoitettu, kannattaa pitkien tiedostojen ja syötteiden selaamiseen ensisijaisesti käyttää less-ohjelmaa. Tekstin tulostus ruudulle on myös mahdollista keskeyttää Scroll Lock -näppäimellä (tai näppäinyhdistelmällä Ctrl+S), mikäli haluaa tutkia pitempään jotakin tiettyä kohtaa. Tulostusta voi jatkaa painamalla uudestaan samaa näppäintä.

Ympäristömuuttujat

Ympäristömuuttujat ovat prosesseille (eli ohjelmille) annettavia eräänlaisia asetuslippuja. Komentoriviympäristön toimintaa säädellään pitkälti ympäristömuuttujien avulla. Ympäristömuuttujaan viitatessa käytetään sen nimen alussa $-merkkiä. Ympäristömuuttujien nimissä on tapana käyttää vain isoja kirjaimia. Yleisiä ympäristömuuttujia ovat mm.

  • $COLUMNS - pääteikkunan leveys merkkeinä
  • $DISPLAY - X:n DISPLAY-asetus
  • $EDITOR - oletustekstieditori
  • $HISTFILE - käytettävä historiatiedosto
  • $HISTSIZE - historiatiedoston maksimipituus
  • $HOME - käyttäjän kotihakemisto
  • $LANG - kieliasetus, esimerkiksi fi_FI.utf-8
  • $LINES - pääteikkunan korkeus riveinä
  • $MAIL - käyttäjän paikallisen sähköpostilaatikon sijainti
  • $MANPATH - man-sivujen sijainti
  • $OLDPWD - edellinen työhakemisto (vrt. komento cd -)
  • $PATH - komentojen oletuspolku
  • $PWD - nykyinen työhakemisto
  • $SHELL - käytettävä komentotulkki
  • $TERM - käytettävä pääte- eli terminaalityyppi
  • $USER - käyttäjänimi
  • $VISUAL - oletustekstieditori

Kaikki asetetut ympäristömuuttujat voi tulostaa komennolla env. Ympäristömuuttujien arvoja voi sh-sukuisissa komentotulkeissa (mm. Bash ja Zsh) asettaa komennolla export ja Csh-sukuisissa (mm. Tcsh) komennolla setenv. Esimerkki:

$ export EDITOR="emacs"

Komentotulkkiympäristössä on mahdollista käyttää myös ns. tavallisia muuttujia, jotka toimivat vain yhden prosessin sisällä. Toisin kuin ympäristömuuttujat, tavallinen muuttuja ei siis komentorivillä määriteltynä periydy siltä käynnistetyille prosesseille eikä myöskään näy env-komennon tulosteessa.

Tavallinen muuttuja määritellään komennolla MUUTTUJANNIMI=arvo, esimerkiksi

$ FOO=bar

Ajonaikainen ohjeistus

Usein on ongelmana, ettei tiedä miten jotakin tiettyä komentoa käytetään tai mikä on jonkin komennon tehtävä. Tätä ongelmaa ratkaisemaan on tarjolla monenlaista ohjeistusta. Ensinnäkin ohjelmat itse sisältävät yleensä lyhyen käyttöohjeen, jonka saa näkyviin valitsimella -h, --help tai joskus myös -help. Esimerkiksi cat-komennon ohje aukeaa komennolla

$ cat --help

Laajempiin ohjesivuihin pääsee käsiksi komennolla man, esimerkiksi

$ man sudo

Man-sivuilla on aina selitetty vähintään ohjelman käyttötarkoitus ja selostettu eri valitsinten käyttö. Osa man-sivuista tarjoaa hyvinkin laajaa opastusta. Komentojen opiskelua man-sivujen avulla haittaa toisaalta se, että useimmilla man-sivuilla ei ole esimerkkejä ohjelman käytöstä. Varsinaisia ohjelmia käsittelevien man-sivujen lisäksi on olemassa myös mm. asetustiedostoja ja eri ohjelmointikielten funktioita käsitteleviä man-sivuja.

Erityisesti GNU-projektin tuottamista ohjelmista on olemassa myös ns. info-sivuja, jotka tarjoavat laajempaa ohjeistusta ja yleensä myös esimerkkejä. Info-sivut tukevat myös sivujen välisiä hyperlinkkejä.

Whatis-ohjelmaa käyttäen voidaan luoda man-sivujen sisältämistä lyhyistä kuvauksista tietokanta, jolloin komentoa whatis käyttäen voidaan nopeasti tarkistaa ohjelmien käyttötarkoitus, esimerkiksi

$ whatis ls
ls                   (1)  - list directory contents

Komennolla apropos voidaan tehdä hakuja näihin lyhyisiin kuvauksiin, mistä on joskus apua, kun ei tiedetä, mikä komento voisi suorittaa jonkin tietyn tehtävän.

Komentotulkkien asetustiedostot

Komentorivin toimintaan voi vaikuttaa muokkaamalla komentotulkin asetustiedostoja. Yleisin komentotulkin asetustiedoston muoto on suoritettava komentojono (vrt. DOSin autoexec.bat) joka toimii pitkälti kuten tavallinen komentotulkkiskripti. Tällaiseen tiedostoon lisätyt komennot ajetaan aina esimerkiksi komentotulkin käynnistyessä.

Kuten muitakin asetustiedostoja, komentotulkin asetustiedostoja on yleensä kahdenlaisia, järjestelmänlaajuisia, /etc-hakemistossa sijaitsevia tiedostoja (esimerkiksi /etc/bashrc) sekä käyttäjäkohtaisia, käyttäjän kotihakemistossa sijaitsevia (piilo)tiedostoja (esimerkiksi ~/.bashrc). Järjestelmänlaajuinen asetustiedosto ajetaan yleensä ennen käyttäjäkohtaista, jolloin käyttäjälle jää "viimeinen sana" komentotulkkinsa asetuksiin.

Bashin toimintaan vaikuttavat asetustiedostot ovat:

  • /etc/profile ja ~/.profile - järjestelmän laajuinen komentojono, joka ajetaan kaikkien kirjautumiskomentotulkki-istuntojen aluksi. Kirjautumiskomentotulkilla tarkoitetaan istuntoa, johon käyttäjä on siirtynyt tekstipohjaisen kirjautumisen jälkeen.
  • /etc/bash_profile ja ~/bash_profile - Bashin oma profile-tiedosto.
  • /etc/bashrc ja ~/.bashrc - Ajetaan kaikkien interaktiivisten komentotulkki-istuntojen aluksi, eli aina, kun Bash käynnistetään jotain muuta kuin skriptin ajamista varten. Ylivoimaisesti käytetyin komentojonotiedosto.
  • /etc/bash_logout ja ~/.bash_logout - Bashin sulkemisen yhteydessä ajettava komentojono
  • /etc/inputrc ja ~/.inputrc - Bashin komentorivieditoinnista huolehtivan readline-kirjaston asetustiedosto

Zsh-komentotulkin asetustiedostoja on selitetty laajasti artikkelissa Zsh.

Katso myös

Aiheesta muualla