Muokataan sivua Komentorivin perusteet
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Komentorivi on yksi GNU/Linux-järjestelmän tehokkaimmista työkaluista, mutta se voi olla Windows-maailmasta Linuxiin siirtyneelle outo. Windowsissa komentotulkki on varsin rajoittunut ja kömpelö, tosin sitä ei tarvitakaan juuri mihinkään. Linuxissa komentoriviltä hoituvat lähes kaikki mahdolliset tehtävät jopa kätevämmin kuin graafisia työkaluja käyttäen. | |||
==Miten komentoriville pääsee?== | ==Miten komentoriville pääsee?== | ||
Useimmat käyttävät Linuxia graafisessa ympäristössä ([[X]]), jolloin luontevin tapa komentoriville pääsyyn on käyttää jotakin [[terminaaliemulaattori]]a. Yleisimpiä terminaaliemulaattoreita ovat X:n perustyökaluihin kuuluva [[xterm]], [[KDE]]:n [[Konsole]] sekä [[GNOME]]n [[ | Useimmat käyttävät Linuxia graafisessa ympäristössä ([[X]]), jolloin luontevin tapa komentoriville pääsyyn on käyttää jotakin [[terminaaliemulaattori]]a. Yleisimpiä terminaaliemulaattoreita ovat X:n perustyökaluihin kuuluva [[xterm]], [[KDE]]:n [[Konsole]] sekä [[GNOME]]n [[gnome-terminal]]. Nämä löytyvät yleensä [[työpöytäympäristö]]n valikosta esimerkiksi nimellä pääte, terminaali tai komentorivi. On myös mahdollista käyttää järjestelmän tekstipohjaisia [[virtuaaliterminaaleja]] (yleensä numeroiltaan 1-6). Näihin pääsee X:stä näppäinyhdistelmällä Ctrl+Alt+<funktionäppäin> (esimerkiksi Ctrl+Alt+F1). Tekstitilassa voi virtuaaliterminaalista toiseen siirtyä komennolla Alt+<funktionäppäin> tai Alt+sivunuolinäppäin. X toimii yleensä virtuaaliterminaalissa 7, joten takaisin sinne voi siirtyä komennolla Alt+F7. | ||
Jotkut jakelut tarjoavat mahdollisuuden käynnistää koneen vikasieto- tai korjaustilassa, joka käynnistyy suoraan komentoriville. Näin on mahdollista tehdä järjestelmään korjauksia vaikka graafinen ympäristö ei toimisikaan. | Jotkut jakelut tarjoavat mahdollisuuden käynnistää koneen vikasieto- tai korjaustilassa, joka käynnistyy suoraan komentoriville. Näin on mahdollista tehdä järjestelmään korjauksia vaikka graafinen ympäristö ei toimisikaan. | ||
== 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. | |||
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. | |||
== Hakemistorakenteessa liikkuminen == | == Hakemistorakenteessa liikkuminen == | ||
Hakemistorakenteessa liikkuminen hoituu suurimmaksi osaksi komennolla | [[Linuxin hakemistorakenne|Hakemistorakenteessa]] liikkuminen hoituu suurimmaksi osaksi komennolla cd. Esimerkiksi /usr-hakemistoon siirrytään komennolla | ||
Esimerkiksi /usr-hakemistoon siirrytään komennolla | |||
$ cd /usr | $ cd /usr | ||
Nykyisen hakemiston alihakemistoon taas voidaan siirtyä ilman /-merkkiä: | Nykyisen hakemiston alihakemistoon taas voidaan siirtyä ilman /-merkkiä: | ||
Rivi 47: | Rivi 25: | ||
-rwxr-xr-x 1 kayttaja users 652348 25. tammi 2004 tiedosto2.bin | -rwxr-xr-x 1 kayttaja users 652348 25. tammi 2004 tiedosto2.bin | ||
-rw-r--r-- 1 kayttaja users 1709160 20. kesä 2002 tiedosto3 | -rw-r--r-- 1 kayttaja users 1709160 20. kesä 2002 tiedosto3 | ||
Tässä siis ensimmäiset merkit kertovat [[tiedoston oikeudet]], toisena oleva numero kertoo | Tässä siis ensimmäiset merkit kertovat [[tiedoston oikeudet]], toisena oleva numero kertoo tiedostojen lukumäärän (lähinnä hakemistoille), sen jälkeen on tiedoston omistajan käyttäjätunnus (''kayttaja'') ja tiedoston omistava ryhmä (''users''). Toinen numeroarvo on tiedoston koko tavuina, jota seuraa viimeisin muokkauspäivämäärä ja tiedoston nimi. | ||
== 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 | 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: | ||
$ 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: | |||
/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. | 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: | ||
$ cd /home/kayttaja | $ cd /home/kayttaja | ||
$ ./ohjelma | $ ./ohjelma | ||
tai | tai | ||
$ /home/kayttaja/ohjelma | $ /home/kayttaja/ohjelma | ||
'''Vinkki''': Käyttäjän omaan kotihakemistoon (/home/kayttaja) voi viitata tildellä: cd ~ | |||
Ohjelman voi myös jättää pyörimään taustalle laittamalla rivin perään merkin &. Tällöin ohjelman tuloste tulee konsoliin, mutta komentorivin normaali käyttö on mahdollista. | |||
== Putkitus == | == Putkitus == | ||
Putket (''engl. pipes'') ovat tapa, jolla yhden ohjelmat tuloste voidaan ohjata toiselle ohjelmalle syötteeksi. | |||
Esimerkiksi komento [[uname]] -r näyttää [[Kernel|ytimen]] version: | Esimerkiksi komento [[uname]] -r näyttää [[Kernel|ytimen]] version: | ||
Rivi 161: | Rivi 60: | ||
||----w | | ||----w | | ||
|| || | || || | ||
Kun nämä komennot putkitetaan |-ohjausmerkillä, saadaan aikaan seuraavanlainen tulostus | Kun nämä komennot putkitetaan |-ohjausmerkillä, saadaan aikaan seuraavanlainen tulostus | ||
Rivi 173: | Rivi 73: | ||
||----w | | ||----w | | ||
|| || | || || | ||
|-ohjausmerkki siis antaa ensin suoritetun komennon tulosteen jälkimmäisenä olevan ohjelman syötteeksi. Hyötyä tästä on esimerkiksi tapauksessa, jossa jonkin komennon antama yli yhden ruudullisen pituinen tulostus halutaan antaa [[less|lessille]] syötteeksi. Esimerkiksi kaikki järjestelmän prosessit saa kätevästi selattavaksi putkittamalla komennon <tt>[[ps]] aux</tt> tulosteen lessille: | |||
|-ohjausmerkki siis antaa ensin suoritetun komennon tulosteen jälkimmäisenä olevan ohjelman syötteeksi. Hyötyä tästä on esimerkiksi tapauksessa, jossa jonkin komennon antama yli yhden ruudullisen pituinen tulostus halutaan antaa [[less|lessille]] syötteeksi. Esimerkiksi kaikki järjestelmän prosessit saa kätevästi selattavaksi putkittamalla komennon <tt>[[ps]] aux</tt> tulosteen lessille | |||
$ ps aux | less | $ ps aux | less | ||
Tai kun pitkästä tulosteesta haluaa etsiä jotain [[Grep|grepin]] avulla: | Tai kun pitkästä tulosteesta haluaa etsiä jotain [[Grep|grepin]] avulla: | ||
Rivi 184: | Rivi 80: | ||
===Tiedostojen putkitus=== | ===Tiedostojen putkitus=== | ||
Ohjelmien tulosteiden lisäksi voi putkittaa myös tiedostoja. Esimerkiksi voit kokeilla luoda pienen tekstitiedoston, ja sitten | Ohjelmien tulosteiden lisäksi voi putkittaa myös tiedostoja. Esimerkiksi voit kokeilla luoda pienen tekstitiedoston, ja sitten ajaa komennon <tt>cowsay < tiedosto</tt>. Tällöin tiedoston sisältö annetaan ohjelmalle (tässä tapauksessa cowsaylle) syötteenä (nk. [[STDIN]]). Nyt kun ohjelma lukee syötettä (joka normaalisti olisi näppäimistö), se lukeekin tiedoston sisältöä. | ||
Vastaavasti ohjelman tulostuksen voi ohjata tavallisen komentorivin ([[STDOUT]]) sijasta tiedostoon ohjausmerkillä >. Kokeile vaikka komentoa | Vastaavasti ohjelman tulostuksen voi ohjata tavallisen komentorivin ([[STDOUT]]) sijasta tiedostoon ohjausmerkillä >. Kokeile vaikka komentoa <tt>cowsay Moi > tiedosto</tt>, ja katso tämän jälkeen tiedoston ''tiedosto'' sisältö (<tt>[[cat]] tiedosto</tt>). >-merkin käyttö kirjoittaa tiedoston päälle, mutta >>-ohjausmerkkiä käyttämällä putkesta tulevan tiedon voi kirjoittaa tiedoston perään. | ||
, ja katso tämän jälkeen tiedoston | |||
Putkituksen käyttöä kannattaa opetella systemaattisesti, sillä suurin osa komentoriviohjelmista toimii tehokkaasti osana jotain toista ohjelmaa, ja kytkentä niiden välillä tehdään helpoiten putkituksen avulla. Pitkiäkään putkituksia ei kannata pelätä. Putkituksen opettelua voi aloittaa tutkimalla komentoja [[grep]], [[awk]], [[cat]], [[zcat]], [[less]], [[more]], [[sort]], [[od]], [[du]], [[wc]] ja [[ls]] (katso myös luettelo [[komentorivikomennot|komentorivikomennoista]]). | Putkituksen käyttöä kannattaa opetella systemaattisesti, sillä suurin osa komentoriviohjelmista toimii tehokkaasti osana jotain toista ohjelmaa, ja kytkentä niiden välillä tehdään helpoiten putkituksen avulla. Pitkiäkään putkituksia ei kannata pelätä. Putkituksen opettelua voi aloittaa tutkimalla komentoja [[grep]], [[awk]], [[cat]], [[zcat]], [[less]], [[more]], [[sort]], [[od]], [[du]], [[wc]] ja [[ls]] (katso myös luettelo [[komentorivikomennot|komentorivikomennoista]]). | ||
Vieläkin monipuolisemmat putkitukset onnistuvat nk. [[nimetty putki|nimetyn putken]] avulla | Vieläkin monipuolisemmat putkitukset onnistuvat nk. [[nimetty putki|nimetyn putken]] avulla. | ||
===Esimerkkejä=== | ===Esimerkkejä=== | ||
Rivi 203: | Rivi 97: | ||
2569 /etc/X11 | 2569 /etc/X11 | ||
Tässä tutkitaan [[du]]-komennon avulla sitä, kuinka paljon mikäkin | Tässä tutkitaan [[du]]-komennon avulla sitä, kuinka paljon mikäkin /etc:n hakemisto vie tilaa. Ongelmana tässä on kuitenkin se, että hakemistot ovat oletuksena haku- eikä kokojärjestyksessä. Tämä ratkaistaan komennolla [[sort]] -nr, joka lajittelee sille annetun syötteen, eli tässä tapauksessa du:n tulosteen, numeerisesti (valitsin -n) isoimmasta pienimpään (valitsin -r kääntää tulostusjärjestyksen, joka oletuksena olisi pienimmästä isoimpaan). Lopuksi käytetään komentoa ''[[head]] -5'' näyttämään sortin tulostuksesta vain viisi ensimmäistä riviä. | ||
Toiminnallisesti sama tulos tulee myös komennolla | Toiminnallisesti sama tulos tulee myös komennolla | ||
Rivi 218: | Rivi 112: | ||
2569 /etc/X11 | 2569 /etc/X11 | ||
Kun lopuksi | Kun lopuksi poistetaan komennosta vielä [[grep]]in avulla kaikki muut rivit paitsi ne, 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 226: | Rivi 120: | ||
23281 /etc | 23281 /etc | ||
Tässä taas | 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. | ||
$ ls /etc |wc -l | $ ls /etc |wc -l | ||
270 | 270 | ||
Tämä puolestaan kertoo, kuinka monta tiedostoa on hakemistossa | Tämä puolestaan kertoo, kuinka monta tiedostoa on hakemistossa /etc ([[wc]] -l laskee syötteen rivit). | ||
== 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]] | 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: | ||
# emerge --sync && emerge -uDNav world | # emerge --sync && emerge -uDNav world | ||
Joka ensin päivittää tietokannan eli ajaa komennon | Joka ensin päivittää tietokannan eli ajaa komennon emerge --sync. Mikäli se ei palauta virhettä, ajetaan jälkimmäinen päivityskomento. | ||
Toisaalta ||-ohjausmerkki toimii | Toisaalta ||-ohjausmerkki toimii päinvaston: jälkimmäinen komento suoritetaan vain mikäli edellinen epäonnistuu, vertaa esimerkiksi: | ||
$ | $ false || cowsay tämä näkyy koska false palauttaa virheen | ||
$ | $ true || cowsay tämä ei näy koska true palauttaa onnistumisen | ||
Komentoja voidaan yhdistellä myös puolipisteellä (;), jolloin minkäänlaista tarkistusta komennon onnistumisesta ei suoriteta. Esimerkiksi seuraavien komentojen tulosteet ovat identtiset | Komentoja voidaan yhdistellä myös puolipisteellä (;), jolloin minkäänlaista tarkistusta komennon onnistumisesta ei suoriteta. Esimerkiksi seuraavien komentojen tulosteet ovat identtiset | ||
$ [[false]] ; cowthink Moi! | $ [[false]] ; cowthink Moi! | ||
$ [[true]] ; cowthink Moi! | $ [[true]] ; cowthink Moi! | ||
== Täydentäminen tabulaattorilla == | |||
Tabulaattorin painelu on keino täydentää komentojen, hakemistojen ja tiedostojen nimiä komentoriville kirjoittamalla vain nimen alku ja painamalla sitten tabulaattoria. | |||
Esimerkiksi mikäli hakemistossa olisi seuraavat alihakemistot: | |||
*imuroidut | |||
*pelit | |||
*pikkupelit | |||
Niin kirjoittamassa hakemistossa ensin | |||
$ cd im | |||
ja painamalla sitten tabulaattoria, täydentyisi rivi muotoon | |||
$ cd imuroidut | |||
Toisaalta kirjoittamalla | |||
$ 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. | |||
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]]. | |||
==Komentojen käynnistäminen taustalle== | ==Komentojen käynnistäminen taustalle== | ||
Voit käynnistää komennon pyörimään taustalle laittamalla &-merkin komennon perään. Esimerkki: | Voit käynnistää komennon pyörimään taustalle laittamalla &-merkin komennon perään. Esimerkki: | ||
$ | $ xterm & | ||
Käynnistää xtermin ja palauttaa käynnistetyn xterm-prosessin työnumeron ja [[PID]]-luvun. Xterm ei kuitenkaan tässä tapauksessa varaa käyttämääsi terminaalia. | |||
Käynnistää xtermin ja palauttaa käynnistetyn xterm-prosessin työnumeron | |||
Taustalle käynnistetyn ohjelman voi siirtää edustalle komennolla [[fg]]. Fg:lle annetaan parametriksi ohjelman työnumero, jonka saa selville myös komennolla [[jobs]]. Jos mitään työnumeroa ei anneta, siirretään edustalle viimeksi taustalle siirretty ohjelma. Esimerkiksi seuraava komento siirtäisi työnumeron 2 omaavan ohjelman edustalle: | Taustalle käynnistetyn ohjelman voi siirtää edustalle komennolla [[fg]]. Fg:lle annetaan parametriksi ohjelman työnumero, jonka saa selville myös komennolla [[jobs]]. Jos mitään työnumeroa ei anneta, siirretään edustalle viimeksi taustalle siirretty ohjelma. Esimerkiksi seuraava komento siirtäisi työnumeron 2 omaavan ohjelman edustalle: | ||
Rivi 260: | Rivi 166: | ||
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. | ||
==Komentohistoria== | |||
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. | |||
== | |||
joka | |||
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. | |||
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 | |||
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 | |||
suorittaisi rivin numero 15256. | suorittaisi rivin numero 15256. | ||
Rivi 307: | Rivi 180: | ||
==Näyttöhistoria== | ==Näyttöhistoria== | ||
Jo nykyisestä ruutunäkymästä kadonnutta tulostetta voi graafisissa | 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. | ||
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ää | 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ä. | ||
==Ympäristömuuttujat== | ==Ympäristömuuttujat== | ||
Rivi 330: | Rivi 203: | ||
*$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>. | ||
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 | |||
==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 | 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 | |||
Laajempiin ohjesivuihin pääsee käsiksi komennolla [[man]], esimerkiksi | Laajempiin ohjesivuihin pääsee käsiksi komennolla [[man]], esimerkiksi | ||
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 355: | Rivi 227: | ||
Komentorivin toimintaan voi vaikuttaa muokkaamalla komentotulkin [[asetustiedosto]]ja. Yleisin komentotulkin asetustiedoston muoto on suoritettava komentojono (vrt. [[MS-DOS|DOSin]] autoexec.bat) joka toimii pitkälti kuten tavallinen komentotulkkiskripti. Tällaiseen tiedostoon lisätyt komennot ajetaan aina esimerkiksi komentotulkin käynnistyessä. | Komentorivin toimintaan voi vaikuttaa muokkaamalla komentotulkin [[asetustiedosto]]ja. Yleisin komentotulkin asetustiedoston muoto on suoritettava komentojono (vrt. [[MS-DOS|DOSin]] autoexec.bat) joka toimii pitkälti kuten tavallinen komentotulkkiskripti. Tällaiseen tiedostoon lisätyt komennot ajetaan aina esimerkiksi komentotulkin käynnistyessä. | ||
Kuten muitakin asetustiedostoja, komentotulkin asetustiedostoja on yleensä kahdenlaisia, järjestelmänlaajuisia, /etc-hakemistossa sijaitsevia tiedostoja (esimerkiksi | Kuten muitakin asetustiedostoja, komentotulkin asetustiedostoja on yleensä kahdenlaisia, järjestelmänlaajuisia, /etc-hakemistossa sijaitsevia tiedostoja (esimerkiksi /etc/bashrc) sekä käyttäjäkohtaisia, käyttäjän kotihakemistossa sijaitsevia (piilo)tiedostoja (esimerkiksi ~/.bashrc). Järjestelmänlaajuinen asetustiedosto ajetaan yleensä ennen käyttäjäkohtaista, jolloin käyttäjälle jää "viimeinen sana" komentotulkkinsa asetuksiin. | ||
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/[[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/[[bash_logout]] ja ~/.bash_logout - Bashin sulkemisen yhteydessä ajettava komentojono | ||
* | */etc/[[inputrc]] ja ~/.inputrc - Bashin komentorivieditoinnista huolehtivan [[readline]]-[[kirjasto]]n asetustiedosto | ||
Zsh-komentotulkin asetustiedostoja on selitetty laajasti artikkelissa [[Zsh]]. | Zsh-komentotulkin asetustiedostoja on selitetty laajasti artikkelissa [[Zsh]]. | ||
Rivi 370: | Rivi 242: | ||
*[[Komentorivivinkkejä]] | *[[Komentorivivinkkejä]] | ||
*[[:Luokka:Komentorivin perustyökalut|Komentorivin perustyökalut]] | *[[:Luokka:Komentorivin perustyökalut|Komentorivin perustyökalut]] | ||
*[[Bash-skriptaus]] | *[[Bash-skriptaus]] | ||
*[[Bashin ulkoasu]] | *[[Bashin ulkoasu]] | ||
*[[Standardivirrat]] | *[[Standardivirrat]] | ||
== | ==Linkkejä== | ||
*[http://people.debian.org/~debacle/refcard/refcard-fi-a4.pdf Debian GNU/Linux Pikaohje PDF-tiedostona] (Tulosta parerille kaksipuoleisena ja taita haitariksi, fantsua) | |||
*[http://www.linuxcommand.org/ LinuxCommand.org] – Aloittelijoille suunnattu kattava ja helppotajuinen englanninkielinen opetussivusto komentorivin käytöstä ja shell-skriptien kirjoituksesta. | *[http://www.linuxcommand.org/ LinuxCommand.org] – Aloittelijoille suunnattu kattava ja helppotajuinen englanninkielinen opetussivusto komentorivin käytöstä ja shell-skriptien kirjoituksesta. | ||
[[Luokka:Ohjeet]] | [[Luokka:Ohjeet]] | ||
[[Luokka:Komentorivi]] | [[Luokka:Komentorivi]] |