Unix-opas, luku 5 Muita toimintoja ja sovelluksia Unix-koneissa:

Valmisohjelmien käyttö, esimerkkinä Matlab

Yleistä valmisohjelmista

Eri Unix-koneissa on erilainen valikoima valmisohjelmia. Valikoima riippuu ennen muuta siitä, mitä ohjelmia ylläpito on katsonut tarpeelliseksi ostaa tai muuten hankkia. Käyttäjät voivat myös hankkia ohjelmia omaan käyttöönsä ja panna ne omaan kotihakemistoonsa. Lisäksi valmisohjelmat ovat sekä käyttötarkoitukseltaan että toimintaperiaatteiltaan ja käytöltään hyvinkin erilaisia. Lisäksi seuraavassa esitetään joitakin yleisiä asioita esimerkin avulla. Esimerkkiohjelmana on muuan varsin hyödyllinen ja käyttötavaltaan tyypillinen valmisohjelma, joka on käytettävissä useissa koneissa: "matemaattinen laboratorio" Matlab.

Matlab on tavallaan hyvin kehittynyt mutta helppokäyttöinen laskukoneohjelma. Tavallisten laskujen lisäksi sillä voi suorittaa mm. vektori- ja matriisilaskentaa ja signaalinkäsittelyä. Lisäksi ohjelmalla voidaan esittää matemaattisia suureita graafisesti erilaisina käyrinä ja kuvioina. Aiheemme kannalta ei käytettävän ohjelman luonne kuitenkaan ole olennainen, eikä seuraavan ymmärtämiseksi ole edes välttämätöntä, että koneessasi on Matlab.

Ohjelman käyttöönotto

Ennen kuin sovellusohjelmaa ryhdytään käyttämään, voi olla tarpeellista antaa jokin komento, jolla ohjelma "otetaan käyttöön". Tämä johtuu mm. siitä, että ohjelma voi sijaita sellaisessa paikassa, ettei se normaalisti "näy" käyttäjälle. Lisäksi ohjelman käyttö voi edellyttää joitakin alustustoimenpiteitä.

Yleisesti ottaen ohjelman käyttäminen edellyttää, että käyttäjän ns. hakupolkuun (path) lisätään se hakemisto, jossa ohjelma sijaitsee. Komentotulkki etsii määritellyistä hakupoluista suoritettavia ohjelmia. Esimerkiksi T-shell-komentotulkissa hakupolkuun lisääminen tapahtuu esim. komennolla

setenv PATH $PATH\:hakemisto

joka teknisesti sanottuna muuttaa ympäristömuuttujan $PATH arvoa.

Tällöin käyttäjän siis täytyy tietää, missä hakemistossa ohjelma sijaitsee käytettävässä koneessa. Tämä vaatii asian selvittämistä järjestelmäkohtaisista käyttöohjeista. On kuitenkin mahdollista, että näitä asioita on eri tavoin tehty helpommiksi käyttäjille. Esimerkiksi käyttäjälle valmiiksi perustettuun alustustiedostoon on saatettu panna polkumäärittely, jonka ansiosta tavallisimman sovellusohjelmistot ovat suoraan käytettävissä.

Ohjelman käynnistys

Kun ohjelma on tarvittaessa edellä kuvatulla tavalla "otettu käyttöön", se käynnistetään yleensä kirjoittamalla ohjelman nimi, esim.

matlab

Tätä ennen kannattaa kuitenkin tutustua käyttöohjeeseen ainakin sen verran, että tietää, miten ohjelmasta pääsee pois!

Se nimi, jolla ohjelma käynnistetään, on yleensä pienikirjaiminen. Dokumenteissa ja muissa teksteissä käytetään tämän takia usein myös pienikirjaimista asua, mutta tässä oppaassa noudatetaan yleensä sitä kieliopin yleistä sääntöä, että erisnimet kirjoitetaan isolla alkukirjaimella.

Tämän jälkeen ohjelma usein kirjoittaa päätteelle jonkin alkuilmoituksen ja tulostaa oman kehotteensa. Kehote voi olla monennäköinen, mutta joka tapauksessa se on merkki siitä, että nyt ollaan kyseisen ohjelman sisällä ja kelvollisia syötteitä ovat ohjelman omat käskyt. Unixin komentoja ei siis voi antaa. (Monissa ohjelmissa on tosin erityinen käsky, jolla voi välittää Unixin komentotulkin suoritettavaksi komennon.) Kehote on myös viesti siitä, että ohjelma on valmis ottamaan vastaan käskyjä (eikä esim. ole suorittamassa laskentaa).

Esimerkiksi Matlabin alkuilmoitus ja kehote voivat olla seuraavannäköiset (asiassa on hiukan vaihtelua tietokoneen ja Matlabin version mukaan):

                     < M A T L A B (R) >
           (c) Copyright 1984-93 The MathWorks, Inc.
                     All Rights Reserved
                         Version 4.1
                         Jul  1 1993
Commands to get started: intro, demo, help help
Commands for more information: help, whatsnew, info, subscribe
 
>> 
Tässä >> on Matlabin oma kehote. Kun olet antanut Matlabille jonkin käskyn ja se on suorittanut sen, kehote tulostuu uudelleen.

Käskyjen antaminen ohjelmalle

Kunkin valmisohjelman käskyjen rakenne on erilainen eikä välttämättä muistuta Unixin komentojen rakennetta mitenkään. Ohjelmaa ei suinkaan aina ole alun perin tarkoitettu toimivaksi (vain) Unix-koneissa, ja muutenkin ohjelman suunnittelu on yleensä melko riippumatonta käyttöjärjestelmien ja muiden ohjelmien suunnittelusta.

Matlabin ymmärtämistä käskyistä yksinkertaisimmat ovat kaavoja, joissa on muuttuja, yhtäläisyysmerkki ja matemaattinen lauseke. Matlabilla on myös sellaisia käskyjä, jotka enemmän muistuttavat valmisohjelmien käskyjen tyypillistä rakennetta: avainsana (käskysana) ja lista argumentteja.

Matlabille annettavat käskyt lopetetaan painamalla return-näppäintä. Tämä on tyypillistä esim. matemaattisissa valmisohjelmissa. On kuitenkin olemassa sellaisiakin ohjelmia, jotka reagoivat välittömästi käyttäjän näppäilemiin merkkeihin ja joiden käskyt saattavat olla esim. yksikirjaimisia; tällöin return-näppäimen painaminen saattaa olla erillinen käsky tai se voi olla täysin vaikutuksetonta.

Matlabille annetaan tehtäviä ratkottaviksi tähän tapaan:

>> x=2+2
x =
     4
>> 
Tässä siis käyttäjä kirjoitti Matlabin kehotteen >> perään käskyn x=2+2, ja Matlab vastasi laskemalla halutun lausekkeen ja kirjoittamalla vastauksen sekä oman kehotteensa merkiksi siitä, että nyt voi antaa uuden käskyn.

Matlabin yhtenä etuna laskukoneisiin verrattuna on se, että sillä voi tallettaa tuloksen muuttujan (edellä x:n) arvoksi, jota voi myöhemminkin (Matlabin saman käyttökerran aikana) käyttää uudelleen. Jos esimerkiksi kirjoitetaan

y = x^2
niin Matlab vastaa (tulkiten symbolin ^ potenssiinkorotuksen merkiksi)
y =
    16

Ohjelman käyttöohjeet

Eri ohjelmien käyttöohjeita on tarjolla hyvin eri muotoisina: painettuina alkuperäiskäsikirjoina (lähes aina englanninkielisinä), suppeampina monistettuina oppaina (usein suomenkielisinä), tietokoneella luettavassa muodossa ohjetiedostoina tai Web-dokumentteina jne. Joistakin ohjelmista saa tietoja man-komennollakin, mutta yleensä siten saatavat tiedot, jos niitä onkaan, ovat vain teknisiä ohjeita ohjelman käynnistämisestä, ei itse käytöstä.

Erityisesti on syytä mainita, että monissa ohjelmissa on "sisäänrakennettuja" käyttöohjeita, ns. on-line help. Tämä tarkoittaa sitä, että jollakin ohjelmalle annettavalla käskyllä käyttäjä saa päätteelleen käyttöohjeita, esimerkkejä, demonstraatioita jne.

Sovellusohjelmien sisäiset on-line helpit ovat keskenään erilaisia niin rakenteeltaan ja käyttötavaltaan kuin hyödyllisyydeltäänkin. Tavallisimmat ohjelmien sisäiset käskyt, joilla on-line help käynnistetään, ovat

? 
help 
h
Näitä siis voi kokeilla melko vaaratta. Joissakin ohjelmissa h saattaa kuitenkin olla käsky, joka tekee jotain ihan muuta kuin käynnistää on-line helpin. Kun Matlab käynnistetään, se ystävällisesti kertoo muutamista avustuskäskyistään. On-line helpin käyttöön pääsee käskyllä help help. Matlabin käskyllä intro voi käynnistää Matlabin esittelyn, jossa käyttäjän tarvitsee vain painella returnia ja katsella. (Jos alkaa kyllästyttää, voi antaa control-c:n, jolloin palataan Matlabin käskytasolle.) Enemmän esimerkkejä saa käskyllä demo.

Ohjelman käytön lopettaminen

Kun Matlabin käyttö halutaan lopettaa, kirjoitetaan käsky exit, jolloin palataan takaisin Unixin komentotulkin tasolle, t.s. seuraavaksi pitäisi tulostua komentotulkin kehote eikä Matlabin kehotetta.

Eri valmisohjelmien lopetuskäskyt ovat erilaisia, mutta ne löytyvät ohjelmien käyttöohjeista. Yleensä on myös vaaratonta kokeilla erilaisia järkeviltä tuntuvia vaihtoehtoja, mm. exit, end, quit, q, stop, fin, bye tai control-d; jos muu ei onnistu, niin control-c yleensä puree.