(toiminnot)

hwechtla-tl: Unix-peruskurssi

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Katso myös muita Unix-aiheisia artikkeleita.

(Huom. viime aikoina tänne on päätynyt enenevässä määrin ihmisiä hakukoneella, joten panen tähän pari omaa tekstiäni, joista voisi olla hyötyä: http://www.ling.helsinki.fi/atk/admin/csl_features.xhtml ja http://www.ling.helsinki.fi/atk/admin/file_permissions.xhtml - ja sitten on muitten kirjoittama suomenkielinen materiaali http://haa.iki.fi/luennot/unix/ (Hannu Aronsson) ja http://cs.stadia.fi/~kuivanen/linux/ (Ilpo Kuivanen).)

Erityisesti raakatekstin käsittelystä pidän keväällä 2008 tekstityökalut-kurssin.


Kurssin opintomonistemateriaali on nähtävillä osoitteessa http://sange.fi/~atehwa/unix-kurssi/ (hakemistossa on materiaalit ps-, pdf- ja html-muodoissa).

Tässä on lyhennelmä opetusohjelmasta:

Kurssin tarkoitus

Kurssilla opiskelijat tutustutetaan Unix-ympäristön käyttöön päivittäisessä, normaalissa tietokonetyöskentelyssä. Pääpaino on ympäristöstä toiseen jotakuinkin samanlaisena pysyvän komentoriviympäristön opettelussa, vaikka jonkin verran opetellaan myös laitoksen graafisen ympäristön (KDE:n ja siihen lisättyjen ohjelmien) käyttöä.

Kurssilla pääpaino ei ole niinkään yksittäisissä työkaluissa vaan järjestelmän peruskäsitteissä. Opiskelijoiden on tarkoitus saada jonkinlainen kuva siitä, mitä ovat tiedostot, kuinka ne on järjestelty tiedostojärjestelmään, mikä on komentojen yleinen rakenne, miten etsitään tietoa erilaisista asioista, miten ohjelmat ja käyttöoikeudet toimivat, ja miten koneiden välinen kommunikaatio toimii. Tietyt kaikelle työlle tärkeät työkalut, kuten tekstinmuokkaus-, etäyhteys- ja sähköpostiohjelmat kuuluvat kuitenkin kurssin piiriin. Sekä tietysti komentorivitulkki itse.

Kurssin käytyään opiskelijoilla pitäisi olla valmiudet järjestellä tiedostoja ja tutkia niitä, tehdä kirjoitus- ym. perustöitä laitoksen ympäristössä, sekä kyky oppia ja opetella lisää.

Opetuskerrat:

Sisään- ja uloskirjautumiset, komentorivi, tiedostojärjestelmä

  1. Keksi jokin äärimmäisen epäkäytännöllinen tapa mennä hakemistoon /web/ling.
  2. echo-komennolla ja >-ohjauksella voit luoda yksinkertaisia tiedostoja. Miten voit kopioida tiedoston käyttämättä cp-komentoa?
  3. Pystyvätkö käyttäjät lukemaan toistensa tekemiä tiedostoja? Perustele.
  4. Kuinka monta paikkaa tiedostojärjestelmästä onnistut löytämään, joita sinulla ei ole oikeutta selailla?
  5. Voiko olla tilanne, jossa et voi poistaa hakemistoa, jonka omistaja olet (eli ls -l näyttää hakemiston omistajaksi sinut)? Millainen tilanne?
  6. Mitä ihmettä ls -l:n tulosteen toisessa sarakkeessa oleva luku mahtaa merkitä?
  7. Ota selvää, mitä umask-komento tekee. (Jos tämä osoittautuu liian vaikeaksi, ota selvää, mitä sleep-komento tekee.)

Tekstin muokkaus, www

  1. Hae jokin suosikkisivusi (esimerkiksi www.google.fi) selaimella. Talleta se kotihakemistoosi. Muokkaa sitä, lisäile esim. siivottomia huomautuksia ja muuta roinaa. Tarkastele lopputulosta selaimella.
  2. Perusta itsellesi breivari-hakemisto eli hakemisto, johon kaverit voivat käydä jättämässä viestejä ja muuta jännää. Kerro jollekulle kurssilaiselle sähköpostitse, missä hakemisto sijaitsee, ja pyydä häntä jättämään sinne viesti.
  3. Minkälaisia tiedostoja sijaitsee hakemiston /usr/lib alla? Entä /usr/share?
  4. Mitä tekee komento lpq?
  5. Lisää kotisivuillesi linkkiosio, ts. linkkejä kaikkiin mielenkiintoisiin sivustoihin, jotka olet löytänyt.
  6. Kirjoita kaunis runo ja tulosta se.
  7. Suunnittele jokin kiva hakemistorakenne kotihakemistollesi. (Tarkoittaa, että päätät, miten nykyiset ja tulevat tiedostot jakautuvat alahakemistoihin kotihakemistossa.)
  8. Etsi emacsista toiminto, jolla voit korvata merkkijonon tiedostosta toisella.

Raakatekstin käsittely

  1. Komento rev kääntää jokaisen syötetiedoston rivin merkki merkiltä väärin päin. Mitä ihmeen hyötyä tällaisesta komennosta voi olla?
  2. Tee komento, joka tuottaa listan tiedoston sanoista ja niiden esiintymiskerroista esiintymistiheysjärjestyksessä.
  3. Komento pr on suunniteltu tekstin palstoittamiseen. Muodosta komento, joka tulostaa 72 merkkiä leveän tekstin siten, että siinä on kaksi 37 merkin levyistä palstaa.
  4. Keksitkö mitään keinoa listata työhakemiston tiedostoja ilman ls"-komentoa? Entä mitään keinoa tuhota työhakemistosta a"-alkuiset tiedostot ilman komentotulkin jokerimerkkiä (*)?
  5. Katso komentorivihistoriasta, mitkä ovat yleisimmin käyttämäsi käskyt. Tee niille lyhyet aliakset. Sijoita kyseiset aliakset kotihakemiston .bashrc"-tiedostoon käyttämättä editoria.
  6. Miten saat selville, kuinka monta tiedostoa yhdessä hakemistossa ja sen kaikissa alahakemistoissa yhteensä on?
  7. mail"-komennolla voi postittaa haluamaansa osoitteeseen mitä tahansa merkkivirtoja. Tee komento, joka lähettää sinulle sähköpostissa listan kotihakemistosi yli 10 kilotavua vievistä tiedostoista ja hakemistoista. Aja se taustalla ja poistu komentotulkista.
  8. Tiedostossa /usr/share/dict/words on pitkähkö lista englannin kielen sanoja. Mitä hyötyä tästä voisi olla?
  9. Muodosta komento, joka tuottaa listan työhakemiston alla olevista tiedostoista, joissa on sana "ja", yhdessä sen tiedon kanssa, kuinka monta kertaa kyseinen sana esiintyy tiedostossa.
  10. Selvitä kokeilemalla, mitä merkkejä unix-tiedoston nimessä ei voi olla.

Etäkäyttö, käyttäjätietojen selvitys, prosessit

  1. Kirjaudu esim. marsille sisään useita kertoja yhtaikaa. Tarkastele, millaisia prosesseja sisäänkirjautumisesi aiheuttavat.
  2. Anna komento yes. Mitä se tekee? Miten sen saa lopettamaan?
  3. Komennolla uptime voi tarkastella koneen kuormitusta. Käynnistä taustalle muutamia yes >/dev/null -prosesseja, tarkastele koneen kuormituksen kehittymistä, ja tapa prosessit.
  4. Käynnistä esim. marsissa taustalle yksi yes >/dev/null ja yksi nohup yes >/dev/null. Kirjaudu ulos, kirjaudu taas sisään, ja katso, selvisivätkö prosessit hengissä.
  5. Miten ssh suhtautuu Ctrl-Z:an? Katso man-sivuilta, miten ssh:n saa pysäytetyksi.
  6. Sopikaa sähköpostilla jokin aika, jolloin kirjaudutte esim. marsiin ja alatte keskustella keskenänne ytalk-ohjelmalla. Noudattakaa sopimusta.
  7. Katso, keitä kaikkia käyttäjiä laitoksella on, joilla on sama sukunimi kuin itselläsi.
  8. Muodosta komento, jolla voit katsoa, kuinka monta kertaa olet ehtinyt kirjautua sisään marsiin / venukseen.
  9. Löydätkö man-sivuja, joiden BUGS-osiossa olisi jotain hauskaa?
  10. Katso, onko kurssin vetäjiä kirjautuneena mars- tai venus-palvelimelle, ja lähetä heille häiritseviä viestejä write-komennolla.

Kivoja ja hyödyllisiä juttuja, kertausta

Tällä kerralla kerrotaan, mitä kaikkea kivaa Unix-ympäristö tarjoaa lisäksi, ja mahdollisesti käydään vähän läpi näitä järjestelmiä. Lisäksi kerrataan vanhastaan epäselviksi jääneitä asioita. Mahdollisia uusia aihepiirejä ovat cron, latex, skriptit, versionhallinta, make, ohjelmien asentaminen, wget, rsync, XML-työkalut ja niin edelleen. Tai sitten voisi käydä läpi uutisryhmien ja mahdollisesti myös IRC:n käyttöä.


Pikalinkit:


kommentoi (viimeksi muutettu 15.02.2011 22:11)