Ero sivun ”Komentorivin perusteet” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 346 merkkiä lisätty ,  16. huhtikuuta 2022
p (Kumottu muokkaus 42848, jonka teki 85.76.22.145 (keskustelu))
Merkkaukset: Mobiilimuokkaus mobiilisivusto-muokkaus
 
(14 välissä olevaa versiota 7 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
[[Komentorivi]] on yksi Linux-järjestelmän tehokkaimmista työkaluista, joka voi olla Windows-maailmasta Linuxiin siirtyneelle outo. Windowsissa komentotulkki on varsin rajoittunut ja kömpelö, eikä sitä ei useinkaan käytetä juuri mihinkään. Linuxissa komentoriviltä hoituvat lähes kaikki mahdolliset tehtävät, usein jopa kätevämmin kuin graafisia työkaluja käyttäen.
[[Komentorivi]] on yksi Linux-järjestelmän tehokkaimmista työkaluista, joka voi olla Windows-maailmasta Linuxiin siirtyneelle outo. Windowsissa komentotulkki on varsin rajoittunut ja kömpelö, eikä sitä useinkaan käytetä juuri mihinkään. Linuxissa komentoriviltä hoituvat lähes kaikki mahdolliset tehtävät, usein jopa kätevämmin kuin graafisia työkaluja käyttäen.


Windowsin komentoriviin tai DOS:iin tottuneiden kannattaa huomioida varsinkin jokerimerkkien erilainen logiikka ja se, etteivät [[Unix]]-komennot juurikaan kysele varmistuksia tai kerro tekemisistään, vaan tekevät ilman kommentteja sen mitä pyydettiin.
Windowsin komentoriviin tai DOS:iin tottuneiden kannattaa huomioida varsinkin jokerimerkkien erilainen logiikka ja se, etteivät [[Unix]]-komennot juurikaan kysele varmistuksia tai kerro tekemisistään, vaan tekevät ilman kommentteja sen mitä pyydettiin.
[[Kuva:Gnome-terminal.png|250px|right|thumb|Komentorivin käyttöä [[gnome-terminal]]illa]]
[[Kuva:Gnome-terminal.png|250px|right|thumb|Komentorivin käyttöä [[GNOME Terminal]]illa]]


==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 [[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 [[virtuaalikonsoli|virtuaalikonsoleja]] (yleensä numeroiltaan 1-6). Näihin pääsee graafisesta ympäristöstä näppäinyhdistelmällä {{Näppäin|Ctrl|Alt}}+<funktionäppäin> (esimerkiksi {{Näppäin|Ctrl|Alt|F1}}). Tekstitilassa voi virtuaalikonsolista toiseen siirtyä myös näppäinyhdistelmällä Alt+<funktionäppäin> tai Alt+sivunuolinäppäin. X toimii yleensä virtuaalikonsolissa 7, joten takaisin sinne voi siirtyä näppäinyhdistelmällä {{Näppäin|Alt|F7}}.
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 [[virtuaalikonsoli|virtuaalikonsoleja]] (yleensä numeroiltaan 1-6). Näihin pääsee graafisesta ympäristöstä näppäinyhdistelmällä {{Näppäin|Ctrl|Alt}}+<funktionäppäin> (esimerkiksi {{Näppäin|Ctrl|Alt|F1}}). Tekstitilassa voi virtuaalikonsolista toiseen siirtyä myös näppäinyhdistelmällä {{Näppäin|Alt}}+<funktionäppäin> tai {{Näppäin|Alt}}+sivunuolinäppäin. X toimii yleensä virtuaalikonsolissa 7, joten takaisin sinne voi siirtyä näppäinyhdistelmällä {{Näppäin|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.
Rivi 13: Rivi 13:


Seuraavissa ohjeissa dollarimerkki ($) tarkoittaa, että komento syötetään tavallisena käyttäjänä ja risuaita (#) sitä, että toimitaan pääkäyttäjänä. Tämä on yleinen merkintätapa jota käytetään muuallakin tässä wikissä ja yleisesti muissakin ohjeissa. 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ä. Tämä on yleinen merkintätapa jota käytetään muuallakin tässä wikissä ja yleisesti muissakin ohjeissa. Jos rivin alussa ei ole kumpaakaan näistä merkeistä, se tarkoittaa komennon tulostetta.
==Komentorivin pikanäppäimet==
Vaikka komentorivillä on mahdollista liikkua  {{Näppäin|Left}} , {{Näppäin|Right}} , {{Näppäin|HOME}} sekä {{Näppäin|END}}-näppäimillä, käytettävissä on myös pikanäppäimiä, jotka toimivat komentotulkista riippumatta.
* {{Näppäin|CTRL|A}} - Siirtää kohdistimen rivin alkuun.
* {{Näppäin|CTRL|E}} - Siirtää kohdistimen rivin loppuun.
* {{Näppäin|CTRL|B}} - Siirtää kohdistimen yhden taaksepäin
* {{Näppäin|CTRL|F}} - Siirtää kohdistimen yhden eteenpäin
* {{Näppäin|ALT|B}} - Siirtää kohdistimen edeltävään aakkosnumerisen merkkiin
* {{Näppäin|ALT|F}} - Siirtää kohdistimen seuraavan aakkosnumerisen merkin jälkeen
[[Tiedosto:Komentorivi siirtyminen.png|640px]]
* {{Näppäin|CTRL|U}} - Poistaa kohdistita edeltävän sisällön.
* {{Näppäin|CTRL|K}} - Poistaa kohdistimen sekä sen jälkeisen sisällön.
* {{Näppäin|CTRL|W}} - Poistaa kohdistita edeltävään aakkosnumeriseen merkkiin asti sisällön.
* {{Näppäin|ALT|D}} - Poistaa kohdistimen sekä sen jälkeisen sisällön seuraavaan aakkosnumeriseen merkkiin asti.


== Hakemistorakenteessa liikkuminen ==
== Hakemistorakenteessa liikkuminen ==
Rivi 98: Rivi 115:


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>.
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>.
===Vaaditut lisäpaketit===
* ''[[Arch Linux]]issa [[bash]]-komentotulkki tarvitsee <tt>[https://www.archlinux.org/packages/extra/any/bash-completion/ bash-completion]</tt>-paketin tätä ominaisuutta varten.''


== Jokerimerkit ==
== Jokerimerkit ==
Rivi 168: Rivi 187:


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
cowsay Moi > tiedosto
$ cowsay Moi > tiedosto
, ja katso tämän jälkeen tiedoston <tt>tiedosto</tt> 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 <tt>tiedosto</tt> 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.


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


*'''Vinkki''': <tt>du</tt>:n tulosteessa hakemistojen koot ilmoitetaan tavuina. Se onkin hyvä, jos hakemistojen kokoja halutaan vertailla keskenään kuten yllä. <tt>du</tt>:n saa tulostamaan myös hakemistojen koot ihmiselle luettavassa muodossa käyttäen kilo-, mega- ja gigatavuja valitsimella <tt>-h</tt>. Tällöin hakemistojen kokojen vertailu <tt>sort</tt>illa ei onnistu, sillä se ei tajua, että 1M on enemmän kuin 10k.
*'''Vinkki''': <tt>du</tt>:n tulosteessa hakemistojen koot ilmoitetaan kilotavuina. Se onkin hyvä, jos hakemistojen kokoja halutaan vertailla keskenään kuten yllä. <tt>du</tt>:n saa tulostamaan myös hakemistojen koot ihmiselle luettavassa muodossa käyttäen kilo-, mega- ja gigatavuja valitsimella <tt>-h</tt>. Tällöin hakemistojen kokojen vertailuun <tt>sort</tt>illa täytyy käyttää valitsinta <tt>-h</tt>, jotta se tajuaa, että 1M on enemmän kuin 10k.


== Komentojen ketjutus ==
== Komentojen ketjutus ==
Rivi 247: Rivi 266:
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ä.  
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
[[wikipedia:fi:Heittomerkki|Heittomerkit]] 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'
  $ [[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>chown</tt>" <tt>-c</tt>-valitsimensa argumentiksi eli suoritettavaksi komennoksi. Loput kolme merkkijonoa tulkittaisiin <tt>su</tt>:n omiksi argumenteiksi, mikä johtaisi virheilmoitukseen.
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>chown</tt>" <tt>-c</tt>-valitsimensa argumentiksi eli suoritettavaksi komennoksi. Loput kolme merkkijonoa tulkittaisiin <tt>su</tt>:n omiksi argumenteiksi, mikä johtaisi virheilmoitukseen.
Rivi 274: Rivi 293:


==Komentohistoria==
==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.  
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ä {{Näppäin|Page Up}} ja loppuun näppäimellä {{Näppäin|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. Ctrl+R-hakua [[zsh]]-komentotulkissa:
Komentohistoriaan voi suorittaa hakuja näppäinyhdistelmällä {{Näppäin|Ctrl|R}}. Tällöin näytetään aina edellinen annetun merkkijonon sisältävä komento. Vanhempia komentoja saa näkyviin painamalla uudestaan {{Näppäin|Ctrl|R}}. Ctrl+R-hakua [[zsh]]-komentotulkissa:
  $ cat /var/log/crond
  $ cat /var/log/crond
  bck-i-search: cat _
  bck-i-search: cat _
Rivi 288: Rivi 307:


==Näyttöhistoria==
==Näyttöhistoria==
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.
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ä {{Näppäin|Shift|Page Up}} ja {{Näppäin|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ä, mikäli haluaa tutkia pitempään jotakin tiettyä kohtaa. Tulostusta voi jatkaa painamalla uudestaan samaa näppäintä. Näppäinyhdistelmät Ctrl+S ja Ctrl+Q toimivat samalla tavalla.
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ää {{Näppäin|Scroll Lock}} -näppäimellä, mikäli haluaa tutkia pitempään jotakin tiettyä kohtaa. Tulostusta voi jatkaa painamalla uudestaan samaa näppäintä. Näppäinyhdistelmät {{Näppäin|Ctrl|S}} ja {{Näppäin|Ctrl|Q}} toimivat samalla tavalla.


==Ympäristömuuttujat==
==Ympäristömuuttujat==
Rivi 357: Rivi 376:


==Aiheesta muualla==
==Aiheesta muualla==
*[http://people.debian.org/~debacle/refcard/refcard-fi-a4.pdf Debian GNU/Linux Pikaohje PDF-tiedostona]
*[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.
*[http://fi-new.flossmanuals.net/komentorivin-perusteet/index Komentorivin perusteet] - GNU/Linuxin komentorivin perusteet suomenkielisessä FLOSS Manualsissa.
*[http://fi-new.flossmanuals.net/komentorivin-perusteet/index Komentorivin perusteet] - GNU/Linuxin komentorivin perusteet suomenkielisessä FLOSS Manualsissa. {{vanhentunut linkki}}


[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Komentorivi]]
[[Luokka:Komentorivi]]
53

muokkausta

Navigointivalikko