hwechtla-tl:
Unix-peruskurssi
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:
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:
- Työaseman käyttöönotto, poistuminen, lukittaminen, hätäpoistuminen
- Ohjelmien käynnistäminen graafisessa ympäristössä, niiden
- komentotulkin käynnistys
- Tiedostojärjestelmän rakenne, tiedostojen nimien antaminen, pistetiedostot, (käyttöoikeudet)
- Komentojen perusrakenne, tehtävänjako komentotulkin ja ohjelmien välillä
- Sähköpostin luku ja lähetys
- Keksi jokin äärimmäisen epäkäytännöllinen tapa mennä hakemistoon /web/ling.
- echo-komennolla ja >-ohjauksella voit luoda yksinkertaisia tiedostoja. Miten voit kopioida tiedoston käyttämättä cp-komentoa?
- Pystyvätkö käyttäjät lukemaan toistensa tekemiä tiedostoja? Perustele.
- Kuinka monta paikkaa tiedostojärjestelmästä onnistut löytämään, joita sinulla ei ole oikeutta selailla?
- Voiko olla tilanne, jossa et voi poistaa hakemistoa, jonka omistaja olet (eli ls -l näyttää hakemiston omistajaksi sinut)? Millainen tilanne?
- Mitä ihmettä ls -l:n tulosteen toisessa sarakkeessa oleva luku mahtaa merkitä?
- Ota selvää, mitä umask-komento tekee. (Jos tämä osoittautuu liian vaikeaksi, ota selvää, mitä sleep-komento tekee.)
- Mikä on tiedosto?
- Tekstieditorin peruskäyttö
- www:n toiminta, (url:t)
- Kotisivun tekeminen, selailu (ja tulostus)
- Hae jokin suosikkisivusi (esimerkiksi www.google.fi) selaimella. Talleta se kotihakemistoosi. Muokkaa sitä, lisäile esim. siivottomia huomautuksia ja muuta roinaa. Tarkastele lopputulosta selaimella.
- 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.
- Minkälaisia tiedostoja sijaitsee hakemiston /usr/lib alla? Entä /usr/share?
- Mitä tekee komento lpq?
- Lisää kotisivuillesi linkkiosio, ts. linkkejä kaikkiin mielenkiintoisiin sivustoihin, jotka olet löytänyt.
- Kirjoita kaunis runo ja tulosta se.
- Suunnittele jokin kiva hakemistorakenne kotihakemistollesi. (Tarkoittaa, että päätät, miten nykyiset ja tulevat tiedostot jakautuvat alahakemistoihin kotihakemistossa.)
- Etsi emacsista toiminto, jolla voit korvata merkkijonon tiedostosta toisella.
- Pakkausohjelmat
- Tiedostojen etsintä
- Tiedon käsittely Unixin filtterikomennoilla
- Tulostus
- Komento rev kääntää jokaisen syötetiedoston rivin merkki merkiltä väärin päin. Mitä ihmeen hyötyä tällaisesta komennosta voi olla?
- Tee komento, joka tuottaa listan tiedoston sanoista ja niiden esiintymiskerroista esiintymistiheysjärjestyksessä.
- Komento pr on suunniteltu tekstin palstoittamiseen. Muodosta komento, joka tulostaa 72 merkkiä leveän tekstin siten, että siinä on kaksi 37 merkin levyistä palstaa.
- Keksitkö mitään keinoa listata työhakemiston tiedostoja ilman ls"-komentoa? Entä mitään keinoa tuhota työhakemistosta a"-alkuiset tiedostot ilman komentotulkin jokerimerkkiä (*)?
- 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.
- Miten saat selville, kuinka monta tiedostoa yhdessä hakemistossa ja sen kaikissa alahakemistoissa yhteensä on?
- 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.
- Tiedostossa /usr/share/dict/words on pitkähkö lista englannin kielen sanoja. Mitä hyötyä tästä voisi olla?
- 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.
- Selvitä kokeilemalla, mitä merkkejä unix-tiedoston nimessä ei voi olla.
- Unix monen käyttäjän ympäristönä
- Prosessien tarkastelu ja hallinta
- ssh-etäyhteydet
- Tietojen hakeminen itsestä ja muista
- Ympäristömuuttujat
- man-sivujen sisällön ymmärtäminen
- Käyttäjien välinen keskustelu
- Kirjaudu esim. marsille sisään useita kertoja yhtaikaa.
Tarkastele, millaisia prosesseja sisäänkirjautumisesi aiheuttavat.
- Anna komento yes. Mitä se tekee? Miten sen saa
lopettamaan?
- Komennolla uptime voi tarkastella koneen kuormitusta.
Käynnistä taustalle muutamia yes >/dev/null -prosesseja,
tarkastele koneen kuormituksen kehittymistä, ja tapa prosessit.
- 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ä.
- Miten ssh suhtautuu Ctrl-Z:an? Katso man-sivuilta, miten ssh:n
saa pysäytetyksi.
- Sopikaa sähköpostilla jokin aika, jolloin kirjaudutte
esim. marsiin ja alatte keskustella keskenänne ytalk-ohjelmalla.
Noudattakaa sopimusta.
- Katso, keitä kaikkia käyttäjiä laitoksella on, joilla on sama
sukunimi kuin itselläsi.
- Muodosta komento, jolla voit katsoa, kuinka monta kertaa olet
ehtinyt kirjautua sisään marsiin / venukseen.
- Löydätkö man-sivuja, joiden BUGS-osiossa olisi jotain hauskaa?
- Katso, onko kurssin vetäjiä kirjautuneena mars- tai
venus-palvelimelle, ja lähetä heille häiritseviä viestejä
write-komennolla.
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)