Komentotulkki Komentotulkki ja avustustoiminnot Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Miten työskentelen komentotulkilla? 2. Miten komennot annetaan ja käsitellään? 3. Miten ohjaan komentojen syöte- ja tulostusvirtaa ja ketjutan komentoja? 2 1
Komentotulkki Komentotulkki on ohjelma, jonka avulla vastaanotetaan ja suoritetaan komentoja näppäimistöltä tiedostosta Komentotulkkeja on useita Bash Tcsh Csh Kun avaat pääte-emulaatioikkunan (Applications/Accessories/Terminal), komentotulkki käynnistyy. Komento echo $SHELL kertoo, mikä komentotulkki on käytössä. 3 Komentorivi Komentotulkki suorittaa kirjoittamasi komennon, kun painat Enter-näppäintä. Komento koostuu komennon nimestä komento arg1 arg2 argn argumenteista Argumentit voivat olla tiedostonimiä merkkijonoja lukuja valitsimia (options) Valitsimet muokkaavat komennon toimintaa. Valitsimet alkavat yhdellä tai kahdella miinusmerkillä. 4 2
Komennon syntaksin selvitys Argumenttien määrä ja sisältö ovat komentokohtaisia. Komento man antaa lisätietoja komennosta. Esim. man ls kertoo, mitä argumentteja komento ls hyväksyy. Lisätietoja saa usein myös valitsimella --help. Esim. ls --help 5 Nolla tai useampia valitsimia Esimerkki: man ls Komennon tarkoitus Nolla tai useampia tiedostoja selostus valitsimista 6 3
Esimerkki: ls 7 Komentoa vastaava ohjelma Kun komento annetaan komentotulkille, se etsii ohjelman, joka vastaa komennon nimeä. Esimerkiksi komento ls suorittaa ohjelman nimeltä ls Ohjelman absoluuttinen tiedostopolku on /bin/ls Hakemistot, joista komentoa vastaavaa ohjelmaa etsitään, ovat ympäristömuuttujassa $PATH. Komento echo $PATH tulostaa muuttujan sisällön. Ympäristömuuttujaan voi lisätä hakemistoja. Monet käyttäjät lisäävät nykyhakemiston (.) PATH=$PATH:/home/user/demot Poikkeuksena komentotulkin sisäiset komennot kuten echo. 8 4
hostname työaseman nimi uname -a arp Työasemainformaatio käyttöjärjestelmäversio yms. tietoa nimi, ip- sekä ethernetosoite. Linuxissa vain pääkäyttäjän käytössä domainname kertoo työaseman domainin Kaikki nämä tiedot löytää myös graafisesta ympäristöstä 9 Oikopolkuja Kohdistin ylös ja alas -näppäimet selaavat komentopuskuria. Saat kolmanneksi viimeisen komennon painamalla kolmesti kohdistin ylös -näppäintä. Sarkainnäppäin täydentää komennon tiedoston tai hakemiston nimen Kaksi sarkainnäppäimen painallusta näyttää vaihtoehdot. 10 5
history-ominaisuus: bash: ~/.bash_history -tiedostossa history näyttää komentohistorian -toistaa edellisen komennon - toistaa ed. komennon argumentit toistaa viimeisen argum. - suorittaa komennon nro number - näyttää, muttei suorita 11 Jokerimerkit Tiedostonimissä voi käyttää jokerimerkkejä Kysymysmerkki (?) täsmää mihin tahansa merkkiin Asteriski (*) täsmää mihin tahansa merkkijonoon, joka voi olla tyhjä tai miten pitkä tahansa 12 6
Tiedostonkäsittelykomentoja cp tied1 tied2 mv tied1 tied2 rm tied mkdir hak rmdir hak cat tied kopioi tiedoston siirtää/uudelleennimeää tiedoston poistaa tiedoston luo hakemiston poistaa hakemiston tulostaa tiedoston sisällön Syntaksista on useita variantteja, ks. man. 13 Syöte- ja tulostusvirrat output input komento error 14 7
Virtojen uudelleenohjaus Kaikki em. virrat voidaan uudelleenohjata Kohteena voi olla tiedosto laite Laitteita ovat esim. Näyttö (esim. /dev/pts/0, selvitä numero komennolla who) bittiämpäri /dev/null 15 Uudelleenohjaussymbolit < syötevirran > tulostevirran >> tulostevirran (jatkaa edellisen perään) 2> virhevirran &> tuloste- ja virhevirran 16 8
Putket Putkien avulla voidaan yhdistää peräkkäisiä komentoja. Ensimmäisen tulostevirrasta tulee toisen syötevirta. Komentojen väliin liitetään putkisymboli ( ). output input komento1 komento2 error 17 Kontrollimerkit CTRL - S pysäyttää ruudun rullauksen CTRL - Q jatkaa CTRL - C keskeyttää sen hetkisen toiminnan (usein tarvittu! ) CTRL - D osoittaa tiedoston päättymisen tai poistutaan (esim mail) CTRL - U komentorivin puhdistus ( ctrl-l ruudun tyhjennys ) CTRL - W edellinen sana pois riviltä CTRL - H poistaa edellisen merkin Kolme viimeistä ovat käteviä silloin, kun päätteen määritykset eivät ole kunnossa eikä Del- tai Backspace-näppäimet toimi! 18 9
Harjoitus 1 Siirry hakemistoon /sbin (komennolla cd /sbin ). Listaa kaikki tiedostot Listaa kaikki tiedostot, yksityiskohtineen Listaa kaikki a-kirjaimella alkavat tiedostot wc -komento optiolla -l tulostaa rivien määrän (syöte isyötevirrasta). Putkita a-kirjaimella alkavien tiedostojen listaus wc-komennolle. Kuinka monta a- kirjaimella alkavaa tiedostoa on? Siirry takaisin kotihakemistoosi (komento cd ). Ota hakemistolistaus, ja ohjaa se tiedostoon listaus.txt. Tulosta tiedoston sisältö ruudulle. Luo hakemisto jonka nimi on UUSI. Kopioi listaus.txt sinne. Siirry UUSI-hakemistoon ( cd UUSI ). Tuhoa kopioitu listaus.txt. Siirry takaisin kotihakemistoon ( cd ). Tuhoa listaus.txt. Poista UUSI-hakemisto. Listaa ruudulle komennot, joita olet käyttänyt tässä harjoituksessa. 19 10