Aikaisemmin ilmestyneissä artikkeleissa (1/88 ja 3/88) kerrottiin
komentotulkeista yleensä sekä Gulamin komentotiedostoista. Nyt kes-
kitytään niihin Gulamin piirteisiin, jotka ovat erityisen olennaisia
kovalevyn käyttäjän kannalta. Kaupalliset UNIX-vaikutteiset komento-
tulkit kuten ComMedian CRAFT Shell, Beckemeyerin C-Shell ja Mark
Williams C:n msh ovat myös käteviä työkaluja. MS-DOS -tyylinen vaih-
toehto on shareware-ohjelma Pcommand. Gulam ja Pcommand löytynevät
PD-kirjastosta ja klubin BBS:stä.
Desktopissa oltaessa ikkunan otsikosta näkyy, missä levyn kansiossa
ikkunassa olevat tiedostot sijaitsevat. Otsikossa olevaa merkkijonoa
kutsutaan poluksi. Esim. polku 'C:\LEHTI\289\STOORIT' koostuu osista
C: loogisen levyaseman nimi
\ loogisen levyaseman juurihakemisto (aina tämän niminen)
LEHTI hakemiston (kansion) nimi
\ erotin kahden sisäkkäisen hakemiston nimen välillä
289 hakemistossa 'LEHTI' olevan hakemiston nimi
\ erotin kahden sisäkkäisen hakemiston nimen välillä
STOORIT hakemistossa '289' olevan hakemiston nimi
Polku on samanlainen kuin IBM PC-yhteensopivien koneiden MS-DOSissa.
(UNIXissa levyaseman nimeä ei ole ja kenoviivan tilalla on kauttaviiva).
Gulamissa on määritelty lisäksi seuraavat erikoishakemistot:
~ kotihakemisto eli se kansio, mistä Gulam käynnistettiin
. 'senhetkinen hakemisto'
.. 'senhetkisen hakemiston' isähakemisto
( 'senhetkinen hakemisto' = hakemisto, johon polussa siihen
asti läpikäydyt merkit viittaavat)
Kelvollisia polkuja ovat siis myös esim.
..\.. työhakemiston isoisähakemisto
~\.. kotihakemiston isähakemisto
Isoilla ja pienillä kirjaimilla ei ole eroa polkujen nimissä
ellei polku ole osana komennon nimeä. Gulam ei tunne skandi-
naavisia merkkejä (åäöÅÄÖ), joita voi kyllä laittaa kansioiden
ja tiedostojen nimiin Desktopista käsin.
Gulam osoittaa valmiutensa palvella ns. promptilla eli kehoittimella.
Oletusarvo on ns. 'alikessun jämät', »». Suositeltavaa on muuttaa
kehoittimen ulkoasu sellaiseksi että siitä näkyy senhetkinen työhake-
misto (sama asia kuin aktiivisen ikkunan otsikkona oleva polku).
Tämä tapahtuu set-komennolla seuraavasti:
set prompt $cwd> # $cwd = Current Working Directory
(eräs Gulamin shell-muuttuja)
Esimerkkimme hakemistossa ollessamme olisi kehoitin tällöin muotoa
c:\lehti\289\stoorit>
Edellämainittu set-komento kannattaa sijoittaa gulam.g-tiedostoon,
joka suoritetaan automaattisesti aina kuin Gulam käynnistetään.
Tiedoston on oltava samassa hakemistossa kuin itse Gulam.prg:nkin.
Hakemistojen käsittelyyn liittyviä komentoja ovat
nimi parametrit selitys
---- ---------- -------
cd [work] vaihtaa uudeksi työhakemistoksi 'work'in,
oletusarvona kotihakemisto ~
dirs tulostaa hakemistopinon sisällön
makedir uusi tekee uuden hakemiston 'uusi'
popd vaihtaa uudeksi työhakemistoksi pinon päällim-
mäisen hakemiston, joka poistuu myös pinosta
pushd [game] vaihtaa uudeksi työhakemistoksi 'game'n,
vanha työhakemisto laitetaan pinon päällimmäi-
seksi. Mikäli parametria ei anneta, vaihtaa
pushdir työhakemistoksi pinon päällimmäisen
ja pinon päällimmäiseksi hakemistoksi tulee
vanha työhakemisto
pwd tulostaa työhakemiston nimen
rmdir turha poistaa hakemiston 'turha'. Sen on oltava
tyhjä, muuten komentoa ei suoriteta.
Hakemistopino on LIFO-periaatteella (Last In, First Out) toimiva
'hakemistonimivarasto' jonne voi laittaa vanhan työhakemiston nimen
talteen pushd-komennolla ja vaihtaa samalla vaihtaa työhakemistoa.
popd palauttaa työhakemistoksi pinoon viimeksi laitetun työhakemis-
ton. Talletettuja työhakemistoja voi olla pinossa useita. Pinon
'purkaminen' tapahtuu popd:llä takaperoisessa järjestyksessä,
viimeksi laitettu ensin.
cp-komennon -r -parametrilla voi viitata kätevästi rekursiivisesti
kaikkiin hakemistoihin ja tiedostoihin, jotka ovat annetun hakemiston
sisällä, esim.
cp -r c:\gfaprogs d:\gfaprogs
kopioi hakemiston gfaprogs sisältöineen C-levyltä D-levylle. cp:llä
saa kätevästi palautettua Turtlella tehdyn varmuuskopion kovalevylle.
Jos pitää palauttaa esim. D-partitio levykkeiltä, toistetaan vain
komentoa
cp -r +t a:\ d:
jokaiselle levykkeelle. cp tekee tarvittavat hakemistot, mikäli ne
eivät ole jo ennestään olemassa ( +t -optio pitää tiedostojen päivä-
määrät ennallaan).
ls -komennon parametri -R aiheuttaa kaikkien annetun hakemiston
(oletuksena työhakemisto) hakemistojen sisällön rekursiivisen
listauksen, esim.
ls -R d:\ >prn:
listaa kaikkien D-levyn hakemistojen sisällön kirjoittimelle.
Hakemistoissa liikkuessa on syytä muistaa ns. '40 kansion bugin'
olemassaolo ja käyttää AUTO-kansiossa FOLDRXXX-apuohjelmaa, missä
XXX on riittävän suuri.
Ulkoinen komento on käsky, jota ei ole ohjelmoitu komentotulkin
sisään. Nämä ovat joko ohjelmatiedostoja tai komentotiedostoja
ja ne käynnistyvät omalla nimellään. Mahdolliset parametrit kir-
joitetaan komennon nimen jälkeen, esim.
arc x chesspics king queen rook bishop knight
Mikäli halutaan viitata jossain toisessa polussa olevaan tiedostoon,
tulee ensin kirjoittaa koko polun nimi ja sitten kenoviivalla ero-
tettuna itse tiedosto, esim. rm c:\datat\tekstit\huuhaa.doc. Tämä
koskee myös ulkoisia komentoja tiedostoja. Jos halutaan esim. käyn-
nistää hakemistossa c:\tp oleva ohjelma emacs.tos, tapahtuu se
komennolla:
c:\tp\emacs.tos
Itse asiassa ohjelmia tai komentotiedostoja käynnistettäessä ei
.tos-, .ttp-, .prg- tai .g-tarkenninta tarvita. GEM-pohjaisia
ohjelmia käytettäessä tulee käyttää gem-etuliitettä. Lisäksi on
huomattava, että usein ohjelma vaatii, että .rsc-tiedosto on
työhakemistossa. Tällöin on syytä siirtyä ohjelman suorituksen
ajaksi kyseiseen hakemistoon, esim.
pushd c:\tp ; gem 1st_word ; popd
Tällaista komentoa varten kannattaa tehdä ns. alias-määrittely
gulam.g-tiedostoon, esim. määrittelyn
alias ut 'pushd c:/telecomm ; gem uniterm ; popd'
avulla voi käynnistää UNITERM.PRG:n mistä käsin tahansa komennolla
'ut' ja palata pääteohjelmasta takaisin alkuperäiseen työhakemistoon.
Komentojen hakupolku, command search path on komentotulkin käytössä
keskeinen käsite. Se koostuu yhdestä tai useammasta polusta. Komento-
jen hakupolun 'varrelta' täytyy löytyä kaikki ne ulkoiset komennot,
jotka halutaan käynnistää mistä työhakemistosta tahansa ilman että
tarvitsee kirjoittaa koko polun nimeä. Tämä on erittäin olennainen
helpotus etenkin kovalevyn käyttäjälle, jonka sovellusohjelmat ovat
yleensä eri hakemistoissa ja eri partitioilla. Kun hakupolku on ker-
ran määritelty, riittää, että muistaa komennon nimen. Hakupolun
määrittelevä shell-muuttuja path asetetaan set-komennolla, esim.
set path c:\util,c:\tp,c:\gfa # pilkku toimii eroittimena
ja sen arvon voi tulostaa komennolla
echo $path # tulostaa vain path-muuttujan arvon
tai
set # tulostaa kaikkien shell-muuttujien arvot
Gulam tekee käynnistyttyään erityisen taulukon (hash table) kaikista
ulkoisista komennoista, jotta sen ei tarvitsisi joka kerta ruveta
etsimään sitä hakemistoa, mistä ko. komento löytyy (homma, jonka
MS-DOSin COMMAND.COM joutuu tekemään). Mikäli hakupolussa oleviin
ulkoisiin komentoihin tulee lisäyksiä tai poistoja, saa Gulamin
tekemään hakutaulukon uudelleen komennolla rehash. Gulam suorit-
taa automaattisen rehashin jos hakupolussa olevia hakemistoja
lisätään tai poistetaan. Hakupolusta löytyvien ulkoisten komentojen
nimet tulostuvat Help-näppäimellä saatavan komentoluettelon lopuksi.
On vielä syytä korostaa, että Desktop ja komentotulkki eivät ole
toisensa poissulkevia vaihtoehtoja kovalevyn käyttäjälle. Desktop
on intuitiivinen ja helpompi oppia, mutta toistuvat ja suuriin
tiedostomääriin kohdistuvat toiminnot hoituvat usein nopeammin
komentotulkilla. Tunne 'työkalupakkisi' niin osaat valita kuhunkin
tilanteeseen parhaimmin sopivan välineen.
|