Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux 2009-01-19
Lähtökohdat Mikä Linux? Linux on Ilmainen Unix-tyylinen käyttöjärjestelmä Perusajatuksena lähdekoodin vapaus (=ilmaisuus, luotettavuus, muokattavuus) Kehitetään jatkuvasti http://en.wikipedia.org/wiki/linux http://www.linfo.org Unix on Alun perin 1969 kehitetty käyttöjärjestelmä Nykyään standardi johon pohjautuu liuta eri valmistajien käyttöjärjestelmiä Yleinen "vakavissa" tietokoneympäristöissä (yliopistot, yritykset, supertietokoneet, etc.) http://en.wikipedia.org/wiki/unix
Lähtökohdat Unix?
Lähtökohdat Miksi Linux? Linux on erityisen suosittu luonnontieteissä Ilmainen ja helposti saatavilla Samalla koneella voi olla monta yhtäaikaista käyttäjää Turvallinen: Käyttäjä ei pääse käsiksi järjestelmän tai muiden käyttäjien tiedostoihin Ei juuri haittaohjelmia Vakaa (verrattuna Windowsiin...). Ohjelmoijaystävällinen: Ilmaisia ohjelmointiympäristöjä Ilmaisiä kääntäjiä Valtava määrä valmiita kirjastoja. Helppo kirjoittaa muissa Unix-tyylisissä järjestelmissä pyöriviä ohjelmia (simulaatiot superkoneilla)
Yleistä Linux kotiin Miksi asentaa Linux kotiin? Paras tapa tutustua Linuxiin Jos jatkaa tutkijana, Linux tulee asennettua ennemmin tai myöhemmin Parempi asentaa ja tutustua ennemmin kuin on todella pakko Mutta Asentaminen ei ole täysin vaaratonta, kannattaa tutustua ohjeisiin Jakelu SuSE, K/Ubuntu, Mandrake, Fedora, Debian... Löytyvät yleensä projektin kotisivuilta ladattavina.iso -kuvina, jotka sisältävät joko kaiken asennukseen tarvittavan tai nettiasennukseen tarvittavat tiedostot Asennettavissa myös muistitikulle Voi myös ostaa valmiina paketteina, jolloin mukaan saa painetut manuaalit
Jakeluista Asennuksesta Muistettavaa Testaa jakelua ensin live-levyltä, ei vaadi asennusta Lue asennusohjeet, löytyvät jakelun verkkosivuilta Dual-boot mahdollinen, Windows tulisi asentaa ennen Linuxia Kiintolevyjen partitiontia kannattaa miettiä ennen asennusta, kaikkea dataa ei kannata säilyttää samalla partitiolla Esimerkkipartitionti: Windows: C (Windows-käyttöjärjestelmä ja Win-kohtainen data) Windows: soft (Windows-ohjelmat) Linux: / Linux: /home/ Linux: swap Jaettu: data Jaettu: media
Jakeluista Ohjelmista Ohjelmista runsaudenpula Jakelun valinnan jälkeen on vielä paljon lisää valittavaa työpöytä (KDE, Gnome,... ) selain (Firefox, Konqueror,... ) sähköposti (Webmail, pine, Thunderbird,... ) komentotulkki (tcsh, bash,... ) editori (emacs, vi, Kedit,... ) Valinnat yleensä toisistaan riippumattomia (KDE:n ja Gnome:n kirjastoja tarvitaan laajalti, vaikkei itse työpöytää olisikaan asennettu)
Hakemistorakenne Hakemistorakenne Hakemistopuu Tiedostot ja hakemistot ( kansiot ) on tallennettu puumaiseen rakenteeseen (directory tree) Termejä: polku (path), absoluuttinen/suhteellinen juuri (root, /) koti (home, ~) työhakemisto (work directory,.) ylähakemisto (parent directory,..)
Hakemistorakenne Hakemistojen idea Käytä hakemistoja Ei kaikkia tiedostoja kotihakemistoon. Käytä hakemistoja tiedon järjestelemiseen, esim. kursseittain. Esimerkiksi: /home/user/ - media - articles - books - music - courses - tkm - exercise - work - tmp
Käyttöliittymät CLI vs. GU Kaksi toisiaan täydentävää käyttötapaa CLI = command line interface, komentorivi GUI = graphical user interface, graafinen käyttöliittymä Molemmissa hyvät ja huonot puolensa CLI tehokas kun tietää mitä tekee GUI käyttäjäystävällinen mutta automatisointi vaikeampaa Tällä kurssilla opetetaan CLI:n käyttöä GUI:n itseopiskelu helppoa, opiskelu vaikeaa
Käyttöliittymät UNIX-filosifia Jokainen komento tekee yhden asian hyvin tulostus, tiedon siirtäminen, verkkoyhteys,.. Asioita ei tarvitse keksiä uudelleen Hyvin riippuu käyttäjästä, siksi valinnanvaraa Suuri määrä komentoja monia opeteltava ulkoa sujuvaa käyttöä ajatellen alkeisopas on (melkein) komentoluettelo
Komentotulkki Komentotulkki Komentotulkki (shell) Ohjataan terminaalilta (Term, Xterm,...) Suorittaa käyttäjän kirjoittamia komentoja Tunnistaa isot ja pienet kirjaimet (case sensitive) Käyttö: komento -opt1 --opt2 argumentti Esimerkiksi oman kotihakemiston käyttämä tila du -h --summarize /home/username
Komentotulkki Oleellisia komentoja Apua man arg näyttää komennon arg manuaalisivut info arg näyttää komennon arg infosivut Navigointi pwd tulosta nykyinen hakemisto cd nimi vaihda hakemistoa ls tulosta hakemiston sisältö
Komentotulkki Oleellisia komentoja Tiedostojen käsittely cp nimi1 nimi2 kopioi tiedoston mv nimi1 nimi2 siirtää tiedoston rm nimi tuhoaa tiedoston touch nimi luo tyhjän tiedoston nimi mkdir nimi luo hakemiston nimi rmdir nimi tuhoaa hakemiston nimi
Komentotulkki Komentotulkin käyttö Täydennys Komentoja voi täydentää sarkaimella (tabulator) Esim. ho tuottaa host ja näyttää vaihtoehdot Myös tiedostonimiä voi täydentää Komentopino Annetut komennot tallentuvat komentopinoon Yleensä pinossa 20 komentoa, (set history = 50) Nuolinäppäimillä voi selata pinoa Nuolinäppäimillä voi editoida komentoa
Komentotulkki Komentotulkin käyttö Syötteet, tulosteet, putkitus Komennon ulosanti voidaan ohjata suoraan toiseen komentoon tai tiedostoon Esim. etsiminen (grep) ja järjestäminen (sort) input (<): tiedostosta, toiselta ohjelmalta output (>): toiselle ohjelmalle, näytölle, tiedostoon Asenna ohjelma, output tiedostoon: install > install.log Asenna, etsi virheet ja laita ne tiedostoon install grep -5 error > error.log
Komentotulkki Komentotulkin käyttö Monet komennot operoivat tiedostoon Komennoille voi putkittaa (pipe, ) toisen komennon tuloksia Pikku palikoita voi siten liimailla peräkkäin Esimerkki: montako erilaista fonttia on asennettu xlsfonts listaa fontit (samoja, sekalainen järjestys) sort lajittelee, uniq poistaa perakkäiset identtiset wc laskee inputin rivit, sanat, merkit (wc -l rivit) xlsfonts sort uniq wc -l
Komentotulkki Alias Alias Tekee oikopolkukomennon pitkään komentoon alias nimi= pitkä_komento --ja --flagit Mitä hyötyä? Komennoilla on normaalisti oletuskäyttäytyminen (oletusflagit) Oletuskäyttäytymistä voidaan muuttaa Komennoista saadaan useita eri muunnelmia
Komentotulkki Alias Esimerkki: kopiointi cp file1 file2 kopioi tiedoston file1 sisällön tiedostoon file2 Jos file2 on olemassa, kirjoitetaan tiedoston päälle cp -i kysyy ensin, haluatko varmasti? alias cp= cp -i määrittelee uuden komennon cp, joka käyttäytyy kuten cp -i Esimerkki: tiedostolistaus ls alias lsl= ls -l näytä täydet tiedot alias dir= ls -lah näytä täydet tiedot, myös piilotetut tiedostot, tiedostojen koot ihmisystävällisessä muodossa
Komentotulkki Ympäristömuuttujat Ympäristömuuttujat tallentavat: Komentotulkin tarvitsemaa tietoa ja lyhenteitä Komentojen ja kirjastojen sijainnin Komentopinon koon etc. env Komento env kertoo, mitä ympäristömuuttujia on asetettu Asettaminen (bash) set history=40 export LHEASOFT="/appl/lheasoft/i686_gnulibc2.1" Käyttö: source \$LHEASOFT/init.csh
Komentotulkki Alustustiedostot Aliaksia ja muita asetuksia ikävä määritellä joka kerta erikseen Käytetään alustustiedostoja, jotka luetaan joka kerta kun komentotulkki käynnistyy chs:.cshrc bash:.bashrc Siis kirjoitetaan aliakset sinne
Ensi luennolla Ensi luennolla Lisää Linuxia (hyödyllisiä komentoja, työkaluja, yms.) Vastauksia auki jääneisiin kysymyksiin