Slide: 1


1.1  Yleistä kurssista


Slide: 2


1.2  Merkinnöistä


Slide: 3


1.3  Miksi järjestää unix"-kurssi?


Slide: 4


2.1  Mikä on unix?

0.8@percent Tämä kurssi opettaa pikemminkin Unix"-käyttöympäristöä, ei niinkään unix"-käyttöjärjestelmää.

Slide: 5


2.2  Miksi Unix"-käyttöympäristö on kiva?


Slide: 6


2.3  Miksi Unix"-käyttöympäristö on ärsyttävä?


Slide: 7


3.1  Mikä on Linux?


Slide: 8


3.2  Linuxin hyviä ja huonoja puolia


Slide: 9


4.1  Sisään"- ja uloskirjautuminen


Slide: 10


4.2  Turvallisuudesta


Slide: 11


4.3  Tositoimiin: istunto

  1. Kirjaudu sisään antamalla käyttäjätunnuksesi ja salasanasi. Koneessa käynnistynee graafinen käyttöympäristö “KDE”.
  2. KDE:n käynnistyttyä kokeile avata joitain ohjelmia alapalkista: esimerkiksi punaisesta dinosauruksen päästä käynnistyy www"-selain, “mozilla”, televisioruudun näköisestä painikkeesta komentotulkki ja paperi"-sulkakynä"-yhdistelmästä kirjoitusohjelma.
  3. Sulje ikkunoita niiden yläkulmassa olevasta ruksista.
  4. Lukita istunto, ja avaa se taas antamalla salasanasi.
  5. Kirjaudu ulos K"-valikosta löytyvällä “logout”"-toiminnolla.

Slide: 12


5.1  Mikä on komentotulkki?


Slide: 13


5.2  Komentotulkin perustoiminta


Slide: 14


5.3  Komentojen yleinen muoto

0.8@percent Esimerkkikomento: ls -l -a /web/ling
0.8@percent Niin komennossa, valitsimissa kuin tiedostojen nimissä (tiedostoista tuonnempana) pienet ja isot kirjaimet ovat eri kirjaimia, eli esim. -l ja -L ovat eri valitsin.

Slide: 15


5.4  Tositoimiin: komennot

  1. Kirjaudu sisään ja käynnistä komentotulkki.
  2. Kokeile komentoa ls -l -a /web/ling siten, että jätät siitä pois eri osia.
  3. Kokeile kirjoittaa komentotulkkiin jotain roskaa, esim. “Minä olen maailman valtias” ja paina enter. Mitä tapahtuu ja miksi?
  4. Komento echo on perin yksinkertainen. Anna sille joitain argumentteja ja katso, mitä se tekee. Katso myös, mitä tekee komento date.
  5. Kokeile, miten valitsin -n muuttaa echo"-komennon toimintaa.
  6. Komennossa grep -i foo /usr/share/dict: mitkä ovat valitsimia, mitkä tavallisia argumentteja ja mikä on ohjelman nimi?

Slide: 16


6.1  Mikä on tiedostojärjestelmä?

0.8@percent Terminologiasta on huomattava sen verran, että “tiedosto” on perinteisesti Unixissa tarkoittaanut oikeastaan mitä tahansa tiedostojärjestelmässä olevaa: siis myös hakemistot ovat tämän terminologian mukaan “tiedostoja”. Tästä syystä varsinaista tietoa sisältäviä tiedostoja (jotka esitellään myöhemmin) on joskus kutsuttu “tavallisiksi tiedostoiksi” (regular files). Tässä opintomonisteessa puhutaan yleensä yksinkertaisesti tiedostoista — asiayhteydestä pitäisi käydä selväksi, sisältääkö käsite hakemistot vai ei.

Slide: 17


6.2  Miten tiedostoihin viitataan?

Tiedoston (tai hakemiston) voi nimetä kahdella tapaa:

  1. Voi käyttää absoluuttista tiedostonimeä:
  2. Voi käyttää suhteellista tiedostonimeä:

Slide: 18


7.1  Hakemistoihin liittyviä komentoja

ls [ -l ] [ -a ] [ hakemisto ] (LiSt)
Näyttää hakemiston sisällön, eli mitä tiedostoja ja hakemistoja se sisältää. Jos hakemiston nimeä ei anneta, näyttää oletushakemiston sisällön. Valitsin -l antaa (paljon) enemmän yksityiskohtia tiedostoista, ja -a näyttää myös ns. piilotiedostot (näistä lisää tuonnempana).

cd [ hakemisto ] (Change Directory)
Vaihtaa oletushakemistoa. Vaihdon jälkeen kaikki suhteelliset tiedostonimet ovat suhteessa uuteen oletushakemistoon. Jos hakemiston nimeä ei anneta, vaihtaa oletushakemistoksi kotihakemiston.

pwd (Print Working Directory)
Kertoo tämänhetkisen oletushakemiston.

mkdir hakemisto [ hakemisto2 ... ] (MaKe DIRectory)
Luo argumenteiksi annetut hakemistot.

rmdir hakemisto (ReMove DIRectory)
Poistaa (tyhjän) hakemiston.

mv hakemisto uusinimipolku (MoVe)
Uudelleennimeää tai siirtää hakemiston (sisältöineen) uuteen paikkaan / uudelle nimelle. (Tiedoston nimipolku on oikeastaan sen sijainti, joten uudelleennimeäminen ja siirtäminen ovat sama asia.) Esim. mv projektit proj vaihtaa projektit"-hakemiston nimeksi proj ja mv build /tmp/mybuild siirtää oletushakemiston build"-alihakemiston /tmp"-hakemiston alihakemistoksi mybuild.


Slide: 19


7.2  Tositoimiin: hakemistot

  1. Käynnistä komentotulkki ja katso, mikä on oletushakemistona.
  2. Katso, mitä tiedostoja se sisältää.
  3. Katso, mitä tiedostoja juurihakemisto sisältää.
  4. Tee uusi alihakemisto kokeilu, katso, mitä tiedostoja se sisältää, tee sille jokin ali"-alihakemisto ja katso, mitä tiedostoja kokeilu nyt sisältää. Poista hakemistot.
  5. Mene (vaihda oletushakemistoksi) /web/ling, liikuskele siellä ympäriinsä ja katsele, mitä tiedostoja siellä on.
  6. Palaa kotihakemistoosi.
  7. Katso pwd:lla, mikä on kotihakemistosi absoluuttinen polku.

Slide: 20


7.3  Nippelitietoa poluista [ylim]

Siis esimerkiksi jos oletushakemisto on /home/p/k/pkalliok, seuraavat polut osoittavat samaan hakemistoon:


Slide: 21


8.1  Mikä on tiedosto? (puoliteoriassa)

0.8@percent Tiedostot, joiden nimi alkaa pisteellä (.), ovat ns. piilotiedostoja / piilohakemistoja. ls"-komento ei näytä niitä ilman -a"-valitsinta, eikä komentotulkin nimilavennus (esitellään tuonnempana) kiinnitä oletuksena huomiota niihin. Piilotiedostot sisältävät usein ohjelmien asetuksia tai muuta sellaista, jonka ei oleteta kiinnostavan käyttäjää kovin paljon, ja yleensä kotihakemisto on pullollaan erilaisten ohjelmien piilotiedostoja. Myös erikoishakemistot . ja .. ovat piilotiedostoja.

Slide: 22


8.2  Tiedostoihin liittyviä komentoja

cat [ tiedosto tiedosto ... ] (CATenate)
Yhdistää argumentteina annetut tiedostot ja tulostaa ne näytölle. cat tiedosto on idiomaattinen tapa tulostaa yksi tiedosto näytölle.

less tiedosto (Ei muistisanaa)
Jos tiedosto on pitkä, cat on huono keino sen tarkastelemiseksi. less näyttää tiedoston yksi näytöllinen kerrallaan. less"-komennon lyhyt käyttöohje on seuraavassa diassa.

file tiedosto (what kind of FILE)
Kertoo (so. arvaa) tiedoston sisällön perusteella, minkä tyyppistä tietoa tiedosto sisältää: onko se tekstiä, ohjelma, kuva, …

grep sana [ tiedosto tiedosto ... ] (Global RegExp Print)
Näyttää tiedosto(i)sta kaikki rivit, joilla esiintyy annettu sana. Hyvä tiedon etsintään.

cp [ -r ] [ -i ] lähde [ lähde ... ] kohde (CoPy)
mv [ -i ] lähde [ lähde ... ] kohde (MoVe)
rm [ -r ] [ -i ] tiedosto (ReMove)
Kopioi (cp) tai siirtää (mv) tiedoston tai tiedostoja uuteen paikkaan. cp jättää lähdetiedoston jäljelle, kun taas mv poistaa sen. rm vain poistaa tiedoston (käytä varoen!).

cp:lla ja mv:lla on kaksi toimintatapaa. Jos kohde on olemassa oleva hakemisto, tiedostot tulevat sen sisään samalla nimellä kuin olivat aiemmassakin paikassaan. Muussa tapauksessa lähdetiedostoja saa olla vain yksi ja kohde on sen uusi sijainti/nimi.

Valitsin -r aiheuttaa, että cp ja rm voivat käsitellä myös hakemistoja. cp tekee tällöin kopion hakemistosta ja kaikesta sen alla olevasta (rekursiivinen kopio), ja rm poistaa koko hakemiston ja kaiken sen alla olevan. mv"-komennolle voi aina antaa lähteiksi myös hakemistoja.


Slide: 23


8.3  less"-komennon lyhyt käyttöohje

less on hyvin monipuolinen ohjelma, joka on tarkoitettu yksinomaan (teksti)tiedostojen tarkasteluun. Koska monet muut Unix"-ohjelmat käyttävät less:a näyttääkseen tiedostoja, sen jonkinlainen hallitseminen on tärkeää. less:n komennot ovat hyvin lyhyitä, enintään muutaman näppäimenpainalluksen mittaisia.


Slide: 24


8.4  Tulosteen ohjaus tiedostoon


Slide: 25


8.5  Tositoimiin: tiedostot

  1. Kirjaudu sisään, käynnistä komentotulkki ja tee kokeiluille uusi alihakemisto testausta. Vaihda se oletushakemistoksi.
  2. Luo tiedosto mun_jutut, johon panet echo:lla jonkin elämänviisautesi. Lisää elämänviisauksia tiedoston perään echo:lla.
  3. Luo tiedosto tämä_hetki komennolla date >tämä_hetki.
  4. Tarkastele näiden tiedostojen sisältöä cat:lla ja less:lla.
  5. Tee mun_jutut"-tiedostosta kopio cp:lla. Lisää siihen vielä joitain viisauksia.
  6. Tee alihakemisto kopiot, johon teet kopiot kaikista tekemistäsi tiedostoista.
  7. Katso file"- ja less"-komennoilla, mitä sisältävät/ovat esim. nämä: /usr/include/stdio.h, /bin/cat, /etc/passwd ja /tmp.
  8. Etsi /etc/passwd"-tiedostosta tietoja itsestäsi (ja kavereistasi) grep"-komennolla ja less"-komennolla. Kumpi tuntuu kätevämmältä?
  9. Tee echo:lla itsellesi puhelinmuistio: kasa nimi"-puhelinnumeropareja, yksi kullakin rivillä. (Onko tällainen vanhanaikaista nykyään?) Etsi sieltä tietoja grep:lla.
  10. Siirrä puhelinmuistio (sekä ehkä elämänviisaustiedosto) turvaan kotihakemistoosi, tuhoa muut kokeilutiedostot rm -r:lla.

Slide: 26


9.1  Komentotulkin apuja

Komentotulkissa on monta asiaa, jotka hidastavat tai vaikeuttavat sen käyttöä. Yksi on komentojen ja varsinkin valitsimien muistaminen. Toinen on se, että pitkien komentojen ja pitkien tiedostonimien kirjoittaminen on hidasta ja virheille altista.

Tässä osiossa paneudutaan komentotulkissa oleviin erilaisiin apuominaisuuksiin. Niiden tehokas käyttö tekee komentotulkista lähes tilanteessa kuin tilanteessa nopeamman ja vaivattomamman käyttää kuin vastaavat hiiren klikkailuun perustuvat graafiset ohjelmat.


Slide: 27


9.2  Apua: man"-sivut

unixin perinteinen online"-apu.

man aihe (MANual)
tietoa tietystä ohjelmasta (tms.), esimerkiksi tietoa date"-ohjelmasta saa komennolla man date. Käyttää less"-ohjelmaa tiedostojen näyttämiseen (katso “less"-komennon lyhyt käyttöohje” aiempana).

apropos aihe (APROPOS)
etsii man"-sivuja, jotka liittyvät tiettyyn aiheeseen, etsimällä aihesanaa sivujen tiivistelmistä. Esimerkiksi apropos editor.

0.8@percent Tätä jaksoa ennen tulleet komennot on syytä muistaa ulkoa, mutta valitsimet ja tämän jakson jälkeen tulevat komennot voi yhtä hyvin tarkistaa man"-sivuilta aina tarvittaessa.

Slide: 28


9.3  Komento"- ja tiedostotäydennys


Slide: 29


9.4  Komentohistoria

history (HISTORY)
Tulostaa komentohistorian. Komentohistoriasta voi suorittaa jonkin komennon uudestaan kirjoittamalla !n, jossa n on komennon historianumero.


Slide: 30


9.5  Komentorivimuokkaus


Slide: 31


9.6  Tositoimiin: komentotulkin tehokas käyttö

  1. Kirjaudu sisään ja käynnistä uusi komentotulkki. Anna history"-komento ja tarkastele tulosta.
  2. Katso, mitä man history sanoopi. Entä apropos shell?
  3. Hae vanhoja käskyjäsi eri tavoin (nuolinäppäimet, C-r) ja muuttele niitä. Esim. muuta jostain cat less:ksi tai päin vastoin.
  4. Tarkastele jotain kotihakemistosi alihakemistossa olevaa tiedostoa less:lla. Käytä tiedoston nimeämiseen tab"-täydennystä. Tarkkaile, kuinka paljon täydentyy aina yhdellä painalluksella.
  5. Kokeile, mitä tapahtuu, jos painaa tab"-näppäintä kahdesti, ennen kuin on kirjoittanut komennosta mitään. Entä, kun itse komento (esim. cat) ja välilyönti on kirjoitettu, muttei vielä mitään muuta?

Slide: 32


9.7  Tiedostolavennus

0.8@percent Erityisesti ei koskaan, koskaan pidä kirjoittaa komentoa rm -r .* (Miksi? Tämä on harjoitustehtävä.)

Slide: 33


9.8  Tositoimiin: tiedostolavennus

  1. Yhdistä kaikki jonkin hakemistosi tiedostot yhdeksi suureksi tiedostoksi (cat ja >"-ohjaus).
  2. Muuta kaikki tekstiä sisältävät tiedostosi .txt"-päätteisiksi ja siirrä ne sitten yhdellä komennolla johonkin toiseen hakemistoon. (Molempiin mv on oikea komento.)
  3. Komennolla wc (katso man wc) voi laskea tiedostosta rivit, sanat ja kirjaimet. Tulosta tiedostoon, mitä viisikirjaimisia tiedostoja /etc"-hakemistossa on, ja katso wc:lla, kuinka monta niitä on.
  4. Laske wc:lla 2"-kohdan tiedostoista sanat (*).
  5. Muodosta aaltosulkeilla jokin vähintään 50"-sanainen sanajoukko. (Liitä vaikkapa kaikki omistusliitteet erilaisiin yhdyssanoihin.)

Slide: 34


9.9  Vielä pari hengissäselviytymisasiaa


This document was translated from LATEX by HEVEA.