Ero sivun ”Komentorivin perusteet” versioiden välillä
Siirry navigaatioon
Siirry hakuun
lainausmerkkien käyttö + lisää dollarimerkkejä + linkki erikoisohjelmat-luokkaan
p (Käyttäjän 81.209.107.105 (keskustelu) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän Teksturi tekemään versioon.) |
Pb (keskustelu | muokkaukset) (lainausmerkkien käyttö + lisää dollarimerkkejä + linkki erikoisohjelmat-luokkaan) |
||
Rivi 165: | Rivi 165: | ||
$ fg %2 | $ 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. | 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ä <tt>su</tt> tulkitsisi vain merkkijonon "<tt>chmod</tt>" <tt>-c</tt>-valitsimensa argumentiksi eli suoritettavaksi komennoksi. Loput kolme merkkijonoa tulkittaisiin <tt>su</tt>: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ömuuttuja]]t 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 <tt>uname</tt> tuloste eli "<tt>Linux</tt>". | |||
==Komentohistoria== | ==Komentohistoria== | ||
Rivi 175: | Rivi 196: | ||
Komentohistoria (nykyinen historia + komentohistoriatiedosto) on mahdollista tulostaa ruudulle komennolla <tt>history</tt>. Tietyn komentohistorian rivin voi suorittaa uudelleen komennolla !<rivinumero>, esimerkiksi | Komentohistoria (nykyinen historia + komentohistoriatiedosto) on mahdollista tulostaa ruudulle komennolla <tt>history</tt>. Tietyn komentohistorian rivin voi suorittaa uudelleen komennolla !<rivinumero>, esimerkiksi | ||
!15256 | $ !15256 | ||
suorittaisi rivin numero 15256. | suorittaisi rivin numero 15256. | ||
Rivi 205: | Rivi 226: | ||
*$VISUAL - oletus[[tekstieditori]] | *$VISUAL - oletus[[tekstieditori]] | ||
Kaikki asetetut ympäristömuuttujat voi tulostaa komennolla <tt>[[env]]</tt>. Ympäristömuuttujien arvoja voi [[sh]]-sukuisissa komentotulkeissa (mm. [[Bash]] ja [[Zsh]]) asettaa komennolla <tt>[[export]]</tt> ja [[Csh]]-sukuisissa (mm. [[Tcsh]]) komennolla <tt>[[setenv]]</tt>. Esimerkki: | Kaikki asetetut ympäristömuuttujat voi tulostaa komennolla <tt>[[env]]</tt>. Ympäristömuuttujien arvoja voi [[sh]]-sukuisissa komentotulkeissa (mm. [[Bash]] ja [[Zsh]]) asettaa komennolla <tt>[[export]]</tt> ja [[Csh]]-sukuisissa (mm. [[Tcsh]]) komennolla <tt>[[setenv]]</tt>. Esimerkki: | ||
export EDITOR="[[emacs]]" | $ 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. | 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 <tt>MUUTTUJANNIMI=arvo</tt>, esimerkiksi | Tavallinen muuttuja määritellään komennolla <tt>MUUTTUJANNIMI=arvo</tt>, esimerkiksi | ||
FOO=bar | $ FOO=bar | ||
==Ajonaikainen ohjeistus== | ==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 | 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 | $ cat --help | ||
Laajempiin ohjesivuihin pääsee käsiksi komennolla [[man]], esimerkiksi | Laajempiin ohjesivuihin pääsee käsiksi komennolla [[man]], esimerkiksi | ||
man [[sudo]] | $ 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. [[asetustiedosto]]ja ja eri ohjelmointikielten funktioita käsitteleviä man-sivuja. | 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. [[asetustiedosto]]ja ja eri ohjelmointikielten funktioita käsitteleviä man-sivuja. | ||
Rivi 244: | Rivi 265: | ||
*[[Komentorivivinkkejä]] | *[[Komentorivivinkkejä]] | ||
*[[:Luokka:Komentorivin perustyökalut|Komentorivin perustyökalut]] | *[[:Luokka:Komentorivin perustyökalut|Komentorivin perustyökalut]] | ||
*[[:Luokka:Komentorivin erikoisohjelmat|Komentorivin erikoisohjelmat]] | |||
*[[Bash-skriptaus]] | *[[Bash-skriptaus]] | ||
*[[Bashin ulkoasu]] | *[[Bashin ulkoasu]] |