Komentoliittymä

**Komentoliittymä**, **komentorivi** eli **komentokehote** (, CLI) on tapa järjestää ihmisen ja tietokoneen välinen kommunikointi. Vaikka komentoliittymää voisi pitää graafisen käyttöliittymän vastakohtana, käytännössä vertailu ei ole aivan osuva. Komentoliittymää käytetään usein erikoistapauksissa, kuten tieteellisen tutkimuksen käyttämissä sovelluksissa, monien laitteiden käyttöliittymissä tai näkövammaisille tarkoitetuissa sovelluksissa. Perinteisesti Unixeissa ja Linuxissa komentoliittymä on ollut näkyvässä asemassa järjestelmän ylläpidossa. Tyypillisin komentoliittymässä ajettava ohjelma on komentotulkki. Komentoliittymästä käytetään myös nimityksiä *konsoli*, *terminaali* ja *pääte* etenkin kun tarkoitetaan pääte-emulaattoria.

## Komentorivin käyttö
Komentoliittymässä ajetaan tyypillisesti komentotulkkia. Tällöin käyttäjä kirjoittaa komentoriville käynnistettävän ohjelman nimen tai komentotulkin sisäisen komennon mahdollisine parametreineen ja painaa syöttöpainiketta, jolloin komentotulkki käsittelee käskyn ja tulostaa vastineen näytölle.
Suoritteen jälkeen tietokone jää odottamaan uutta komentoa. Tietokoneen ollessa valmis vastaanottamaan komennon sen merkkinä on *komentokehote* ().

Komentokehote MS-DOS/Windows-ympäristössä päättyy kulmasulkuun (>).

Unix-tyylisissä käyttöjärjestelmissä se päättyy tyypillisesti $-merkkiin (Bourne shell) tai %-merkkiin (C shell), sekä ylikäyttäjällä (root) #-merkkiin, mutta on käyttäjän muokattavissa.

Komentoliittymän käyttö ei välttämättä vaadi suurta järjestelmän tuntemusta, sillä komennot ovat usein lyhennyksiä selväkielisistä englanninkielisistä sanoista, ja niille on yleensä saatavilla käytönaikainen ohje komennoilla *help* tai *man*.

## Historiaa
Komentoliittymä periytyy teletype-laitteiden ajalta, jolloin tietokoneen käyttö oli suoraviivaista komentojen ja suoritteiden vuorottelua. Tämä sijoittuu yhteen varhaiseen interaktiiviseen tietojenkäsittelyyn eräajon jälkeen. Sama käyttömalli jatkui kun kuvaputkiin perustuvat päätelaitteet ilmestyivät. Komentoliittymä oli pääasiallinen tietokoneiden käyttöliittymä, kunnes tekniikan kehitys loi edellytykset grafiikan esittämiselle (graafinen pääte) ja graafiselle käyttöliittymälle.

## Sovelluksia

Komentoliittymää käytetään edelleen sen tuoman selkeyden ja pienempien resurssivaatimusten takia monissa laitteissa ja sovelluksissa. Verrattuna hiirellä tapahtuvaan ikkunoiden selailuun graafisella käyttöliittymällä on komentoliittymä joissakin tapauksissa myös nopeampi tapa ohjata tietokoneen toimintaa. Komentoliittymän käyttö on yleistä tieteellisen tutkimuksen, laitteiden kehittämisen ympäristöissä ja käyttöliittymissä, jotka liittyvät kiinteästi johonkin laitteeseen. Monet ohjelmoijat suosivat komentoliittymää. Komentoliittymän käyttö on väistämätöntä suurtietokoneiden ja muiden erikoisempien tietokoneiden yhteydessä.

Joissakin sovelluksissa on mukana sen oma komentoliittymä. Muun muassa MATLABissa sen graafinen käyttöliittymä tarjoaa vain osan toiminnoista ja loput sen omalla komentoliittymällä.

Komentotulkissa (kuten Bash) on usein mukana ohjelmointiominaisuuksia komentokielen muodossa: ehtolauseet ja toistorakenteet tekevät kielestä Turing-täydellisen.

Tekstiseikkailupelien kuten *[[Colossal Cave Adventure]]* lisäksi varhaiset grafiikkaa näyttävät seikkailupelit käyttivät komentoliittymää ja omaa komentotulkkia kuten Sierran SCI *[[King’s Quest]]* -peleissä.

## Rajoituksia
Kuvien ja äänten käsittely luonnollisesti on hyvin hankalaa komentoliittymästä. Vieraan komentoliittymän käyttäminen ilman ohjeita on vaikeaa ilman huolellisesti tehtyä aputoimintoa. Tavalliseen webin selailuun komentoliittymää ei voi suositella, vaikka se onkin mahdollista telnet-yhteyden yli Unix-palvelinkoneella tai Lynx-selaimella.

## Katso myös
* Graafinen käyttöliittymä (GUI)
* Tekstipohjainen käyttöliittymä (TUI)

## Lähteet

## Aiheesta muualla
* UNIX-ohjelmointiympäristön erityispiirteitä, Helsingin yliopisto