Ero sivun ”Komentorivin perusteet” versioiden välillä

Siirry navigaatioon Siirry hakuun
291 merkkiä lisätty ,  22. syyskuuta 2007
p
ei muokkausyhteenvetoa
pEi muokkausyhteenvetoa
Rivi 28: Rivi 28:


== Komentojen suorittaminen ==
== Komentojen suorittaminen ==
Mikäli ohjelma löytyy hakemistosta, joka on määritelty [[PATH|$PATH]]-[[ympäristömuuttuja]]ssa, 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:
Mikäli ohjelma löytyy hakemistosta, joka on määritelty [[PATH|$PATH]]-[[ympäristömuuttuja]]ssa, sen voi suorittaa suoraan ajamalla komennon <tt>ohjelmannimi</tt> (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
  $ 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:
  /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:
Rivi 128: Rivi 128:


== Komentojen ketjutus ==
== 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 [[Gentoo|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:
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 [[Gentoo|Gentoon]] [[paketinhallinta|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
  # 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.
Joka ensin päivittää tietokannan eli ajaa komennon emerge --sync. Mikäli se ei palauta virhettä, ajetaan jälkimmäinen päivityskomento.
Rivi 155: Rivi 155:
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.
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, [[PID|prosessinumeroiden]] sekä komentojen valitsimien täydennystä tabin avulla. Mm. [[zsh]]-[[komentotulkki|komentotulkissa]] 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]].
Eräät komentotulkit tukevat myös esimerkiksi etäkoneiden nimien, käyttäjänimien, [[PID|prosessinumeroiden]] sekä komentojen valitsimien täydennystä tabin avulla. Mm. [[zsh]]- ja [[tcsh]]-[[komentotulkki|komentotulkeissa]] on mahdollista myös nk. oikoluku, eli väärin kirjoitettujen komentojen tab-täydennys oikeiksi. Esimerkiksi komento <tt>mpllayr</tt> voitaisiin tällöin täydentää komennoksi <tt>[[mplayer]]</tt>.


==Komentojen käynnistäminen taustalle==
==Komentojen käynnistäminen taustalle==
Rivi 169: Rivi 169:
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.  
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.
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.
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.


Rivi 180: Rivi 181:


==Näyttöhistoria==
==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.
Jo nykyisestä ruutunäkymästä kadonnutta tulostetta voi graafisissa [[terminaaliemulaattori|terminaaliemulaattoreissa]] yleensä selata normaalin vierityspalkin avulla. Tekstipohjaisissa [[virtuaalikonsoli|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ä.
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ä.
Rivi 203: Rivi 204:
*$USER - käyttäjänimi
*$USER - käyttäjänimi
*$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>.
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]]"


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.
Rivi 230: Rivi 232:


Bashin toimintaan vaikuttavat asetustiedostot ovat:
Bashin toimintaan vaikuttavat asetustiedostot ovat:
*/etc/profile ja ~/.profile - järjestelmän laajuinen komentojono, joka ajetaan kaikkien kirjautumiskomentotulkki-istuntojen aluksi. Kirjautumiskomentotulkki on se komentotulkki-istunto, johon käyttäjä on siirtynyt tekstipohjaisen kirjautumisen jälkeen.
*/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/[[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.
*/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/[[bash_logout]] ja ~/.bash_logout - Bashin sulkemisen yhteydessä ajettava komentojono
*/etc/[[inputrc]] ja ~/.inputrc - Bashin komentorivieditoinnista huolehtivan [[readline]]-[[kirjasto]]n asetustiedosto
*/etc/[[inputrc]] ja ~/.inputrc - Bashin komentorivieditoinnista huolehtivan [[readline]]-[[kirjasto]]n asetustiedosto
4 316

muokkausta

Navigointivalikko