Ero sivun ”Komentorivin perusteet” versioiden välillä

Siirry navigaatioon Siirry hakuun
59 merkkiä lisätty ,  3. helmikuuta 2008
kielenhuoltoa (kappaleiden yksinkertaistamista), tarkennuksia, pathin lyhennys
(kielenhuoltoa (kappaleiden yksinkertaistamista), tarkennuksia, pathin lyhennys)
Rivi 7: Rivi 7:


== Komentotulkki ==
== Komentotulkki ==
Komentotulkki (engl. shell) on ohjelma, joka hoitaa komentoriviltä annettujen komentojen suorittamisen. Komentorivin käyttö riippuu siitä, mikä [[Komentotulkki|komentotulkki]] on käytössä. Lähes jokaisessa [[Jakelut|jakelussa]] oletuksena on käytössä [[Bash]], joten tämän ohjeen asiat toimivat bashin kanssa. Kuitenkin komentotulkkien välillä ei perusasioissa ole paljoakaan eroa joten ohjeiden pitäisi toimia monissa muissakin komentotulkeissa.
[[Komentotulkki]] (engl. shell) on ohjelma, joka hoitaa komentoriviltä annettujen komentojen suorittamisen. Komentotulkkeja on useita, mutta peruskäytössä ne toimivat suurinpiirtein samalla tavalla. Lähes jokaisessa [[Jakelut|jakelussa]] oletuksena on käytössä [[Bash]], joten esimerkeissä käytetän sitä.


Seuraavissa ohjeissa dollarimerkki ($) tarkoittaa, että komento syötetään tavallisena käyttäjänä ja risuaita (#) sitä, että toimitaan pääkäyttäjänä. Jos rivin alussa ei ole kumpaakaan näistä merkeistä, se tarkoittaa komennon tulostetta.
Seuraavissa ohjeissa dollarimerkki ($) tarkoittaa, että komento syötetään tavallisena käyttäjänä ja risuaita (#) sitä, että toimitaan pääkäyttäjänä. Jos rivin alussa ei ole kumpaakaan näistä merkeistä, se tarkoittaa komennon tulostetta.
Rivi 30: Rivi 30:
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:
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:
  ~/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
<!-- /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:
  /opt/sun-jdk-1.5.0.06/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin:/opt/vmware/workstation/bin:
  /opt/sun-jdk-1.5.0.06/jre/bin:/usr/kde/3.5/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/games/bin:/opt/vmware/workstation/bin:
  /usr/share/karamba/bin
  /usr/share/karamba/bin-->


Mikäli ajettava ohjelma ei sijaitse $PATH:in määrittelemissä hakemistoissa, se voidaan suorittaa joko viittaamalla siihen koko sen polulla (esim. /home/kayttaja/imuroitua/hienosofta.bin), tai mikäli kyseinen ohjelma on hakemistossa, johon on jo siirrytty, lisäämällä tiedostonimen eteen ./ joka viittaa nykyiseen hakemistoon (huomaa kuitenkin että suoritettavalla tiedostolla on oltava [[Tiedoston oikeudet|suoritusoikeudet]]). Esimerkiksi jos hakemistossa /home/kayttaja olisi suoritettava tiedosto nimeltä ohjelma se voitaisiin suorittaa seuraavilla tavoilla:
Mikäli ajettava ohjelma ei sijaitse $PATH:in määrittelemissä hakemistoissa, se voidaan suorittaa joko viittaamalla siihen koko sen polulla (esim. /home/kayttaja/imuroitua/hienosofta.bin), tai mikäli kyseinen ohjelma on hakemistossa, johon on jo siirrytty, lisäämällä tiedostonimen eteen ./ joka viittaa nykyiseen hakemistoon (huomaa kuitenkin että suoritettavalla tiedostolla on oltava [[Tiedoston oikeudet|suoritusoikeudet]]). Esimerkiksi jos hakemistossa /home/kayttaja olisi suoritettava tiedosto nimeltä ohjelma se voitaisiin suorittaa seuraavilla tavoilla:
Rivi 112: Rivi 113:
  2569    /etc/X11
  2569    /etc/X11


Kun lopuksi poistetaan komennosta vielä [[grep]]in avulla kaikki muut rivit paitsi ne, jotka sisältävät merkkijonon X11, saadaan ylläoleva tulostus.
Kun lopuksi poimitaan tulostesta [[grep]]in avulla rivit, jotka sisältävät merkkijonon X11, saadaan ylläoleva tulostus.


  $ du /etc |sort -n |tail -5 |grep -v X11
  $ du /etc |sort -n |tail -5 |grep -v X11
Rivi 120: Rivi 121:
  23281  /etc
  23281  /etc


Tässä taas grepille on annettu valitsin -v, jolla määritellään grep näyttämään kaikki rivit paitsi ne, joihin sisältyy merkkijono X11.
Tässä taas grepille on annettu valitsin -v, jolla määritellään grep näyttämään rivit, joihin ei sisälly annettua merkkijonoa X11.


  $ ls /etc |wc -l
  $ ls /etc |wc -l
  270
  270


Tämä puolestaan kertoo, kuinka monta tiedostoa on hakemistossa /etc ([[wc]] -l laskee syötteen rivit).
Tämä puolestaan kertoo, kuinka monta tiedostoa on hakemistossa /etc ([[wc]] -l laskee syötteen rivit). Luku ei ole tarkka, koska mukaan laskettiin myös otsikkorivi.


== Komentojen ketjutus ==
== Komentojen ketjutus ==
Rivi 153: Rivi 154:
Toisaalta kirjoittamalla  
Toisaalta kirjoittamalla  
  $ cd p
  $ cd p
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 (asetuksista riippuen kone saattaa piipata). 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]]- 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>.
Eräät komentotulkit (mm. bash, vaikka toiminnallisuus ei ole oletuksena kytkettynä) 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==
785

muokkausta

Navigointivalikko