SCI-A0000 Johdatus opiskeluun (2 op) IT-osuus Luento 2
Sisältö Otaniemen Windows- ja Linux-ympäristöt Unix/Linux Komentorivityöskentely Peruskomentoja Tiedostojen ja hakemistojen käsittely 2
Otaniemen Windows- ja Linux-ympäristöt Luokat Windows 7 Ubuntu 12.04 Päärakennuksessa yksi Mac-luokka testikäytössä Etäyhteys vain Linux-yleispalvelimeen Yleispalvelin kosh.aalto.fi (tulossa myös lyta.aalto.fi) Ohjelmia saa ajaa etänä, mutta ei mielellään mitään raskasta Tiedostojen siirto kotikoneelta koululle Windows ja Linux tarjoavat vastaavia ohjelmistoja ja palveluita 3
Vastaavia ohjelmistoja esim. Toimisto-ohjelmisto Tekstinkäsittely Taulukkolaskenta Esitysgrafiikka Tietokanta Julkaisu Windows MS Office Word Excel Powerpoint Access Publisher OpenOffice.org Linux LibreOffice OpenOffice.org Writer Calc Impress Base Scribus StarOffice Gnome-Office... 4
Vastaavia ohjelmistoja esim. Windows Internet-selain IE Mozilla Firefox Opera Safari for Windows Google Chrome Sähköposti MS Outlook Mozilla Thunderbird Linux Mozilla Firefox Chromium Opera Epiphany Dillo Links... Evolution Mozilla Thunderbird Sylpheed Alpine, Mutt... 5
Vastaavia ohjelmistoja esim. Windows Pikaviestintä Skype MSN Messenger ICQ... Nettipuhelut Skype MSN Messenger Ventrilo... IRC mirc XChat Opera... Linux Empathy GnomeICQ Kmess QuteCom.. Skype OpenWengo Linphone.. Empathy Irssi Kvirc 6
Esimerkkejä ohjelmistoista luokkien Linux-koneilla WWW: Firefox Toimisto-ohjelmistot: LibreOffice Tekstinkäsittelyyn lisäksi: AbiWord, Texmaker Sähköposti ja uutisryhmät: Thunderbird, Alpine, Tin Piirto- ja grafiikkatyökaluja: Gimp, Xfig, Inkscape Matemaattisia ohjelmistoja: Maple, Mathematica, Matlab Ohjelmointityökaluja (Eclipse..) Pelejä 7
Linuxin graafinen käyttöliittymä GNOME Kuten Windows Virtuaalityöpöytiä Kuvaruutu muodostaa työpöydän osan GNOME-paneelissa ylhäällä: Applications valikko (Virtuaalityöpöytiä on saatavilla myös Windowsiin.) Käytössä olevat ohjelmistot aihepiireittäin lajiteltuna Places -valikko Etsintätyökalut, linkit tietokoneen resursseihin (esim. Kotihakemisto, CD-asema), uloskirjautumis- ja lukituspainike 8
Mihin tarvitsen Linuxia? Kaikki opiskelijat Yhteys kotoa koululle Koulun ohjelmistojen käyttö kotoa Osa opiskelijoista Ohjelmointi 9
Linux? Unix? Mitä eroa? Unix Kehitys aloitettu 60-luvun lopulla Tavaramerkki UNIX Linux Kehitys aloitettu 90-luvulla Polveutuu Unixista, joidenkin lähteiden mukaan kuuluu niihin Avointa lähdekoodia Suosittu kotimikroissa Peruskäyttäjälle EI EROA 10
Lyhyesti Unixista (s. 1969) Voidaan käyttää suoraan työsemalta TAI Voidaan ottaa yhteys toiselta koneelta Monikäyttäjäympäristö Palvelimet päätteet Tehokkaat työasemat Suosittu yliopistoissa Sisään- ja uloskirjautumisen välissä: istunto (engl. session) 11
Monikäyttäjäympäristö Unixit ja Linuxit ovat monen käyttäjän käyttöjärjestelmiä Monta ihmistä voi käyttää samaa tietokonetta yhtä aikaa Kaikki puuhastelevat omiaan yleensä toisista riippumatta Kaikilla oma levytila Kaikilla tiettyjä oikeuksia (omiin tiedostoihin, mahdollisesti myös muiden tiedostoihin) Jos koneessa on paljon raskaita ohjelmia ajossa, kone ylikuormittuu ja toimintojen suoritus hidastuu Ylläpitäjä = käyttäjä, joka huolehtii järjestelmän toimivuudesta Enemmän oikeuksia kuin tavallisella käyttäjällä 12
Linuxin komentorivikäyttö 13
Komentorivi ja komentojen antaminen Numero kertoo, kuinka monta käskyä on suoritettu kosh ~ 51 % alpine Sen koneen nimi, jolla työskennellään Kehote Tästä eteenpäin kirjoitetaan annettava komento 14
Komennon rakenne Komennon nimi kertoo yleensä jotain komennon sisällöstä. Esim. rm (ReMove) komento valitsin argumentti Esim: rm i testi.txt Esimerkiksi tiedoston nimi man-komento kertoo mahdollisista valitsimista ja vaadittavista argumenteista (esim. man rm) 15
Tärkein komento kosh ~ 61 % logout tai kosh ~ 82 % exit Komento lopettaa työskentelysi turvallisesti. 16
Monikäyttäjäympäristöön liittyviä komentoja * w ja who: listaavat samassa työasemassa työskentelevät käyttäjät 17
Ohjelmistojen ajaminen komentoriviltä Ohjelmiston voi käynnistää komentoriviltä suoraan sen nimellä, esim: kosh ~ 21 % gimp Graafisessa käyttöliittymässä ohjelmistoja ajetaan aina taustalla. Jos käytät &-merkkiä ohjelmiston nimen perässä, ajat ohjelmistoa taustalla: voit käyttää ohjelmistoa normaalisti, mutta komentorivisi on käytettävissä (vaikkapa toisen ohjelmiston ajamiseen): kosh ~ 22 % matlab & 18
Tiedostojen ja hakemistojen käsittely Tiedostojärjestelmä Tiedostojen ja hakemistojen käsittely 19
Tiedostojärjestelmä Isähakemisto Alihakemisto Directory1 / juurihakemisto File.txt Directory2 Tietokone operoi ja säilöö tietoa eli dataa, jota säilytetään massamuistissa Tiedostojärjestelmän osat: Tiedosto Hakemisto Linkki Directory3 File.xls File.gif File.jpg File.doc Link.gif Linkki = kahva tiedoston käyttöön symbolisia kestäviä Hakemistorakenne = puu 20
Tiedostot Jokaisella tiedostolla on nimi Unixissa/Linuxissa tiedostonimet melko vapaasti valittavissa Pituus max 255 merkkiä, kielletyt merkit: NUL ja / Ääkköset saattavat aiheuttaa ongelmia Nimiä esim: testi.txt, mato.java, hyppykiikku.c Erikoisuuksia: Pisteellä alkavat tiedostot ovat piilotettuja (esim.plan) Tiedostonimet. ja.. ovat varattuja 21
Hakemistorakenne / bin u / home dev etc who vilma jaakko maija finger cd.plan... code.java puh.txt 22
Erityiset hakemistot Jokaisella käyttäjällä on Unix-koneessa hakemisto, joka on hänen omistuksessaan. Tätä hakemistoa sanotaan käyttäjän kotihakemistoksi (home directory). Kotihakemisto on normaalisti vain omistajan käytössä. [ ] Yleensä ei ole syytä viitata kotihakemistoonsa suoraan sen nimellä, vaan kannattaa käyttää sen symbolista nimeä ~. Työhakemistoksi (working directory) eli nykyiseksi hakemistoksi (current directory) kutsutaan sitä hakemistoa, jossa käyttäjä juuri sillä hetkellä on. Täsmällisemmin sanottuna se tarkoittaa sitä hakemistoa, jonka tiedostoihin tiedostonnimet oletusarvoisesti viittaavat. Lähde: Jukka K. Korpela, Unix-opas 23
Polku Polkunimi (pathname): hakemiston tai tiedoston koko nimi Hakemisto: /home/student/22/jaakko/ Tiedosto: /home/student/22/jaakko/resepti.txt / -merkki erottaa isä- ja lapsihakemistot Kahdenlaisia polkunimiä Absoluuttiset polkunimet: Polku lähtee aina juuresta Johtaa samaan paikkaan riippumatta työhakemistosta Absoluuttinen eli täydellinen polkunimi Suhteelliset polkunimet: Kulloisenkin työhakemistoon perustuvat polkunimet. (yksi piste) viittaa senhetkiseen työhakemistoon.. (kaksi pistettä) viittaa senhetkisen työhakemiston isähakemistoon 24
Erikoisuudet polkunimissä Omaan kotihakemistoon viittaaminen: ~/ Toisen käyttäjän kotihakemistoon viittaaminen ~toisen_kayttajan_tunnus/ esimerkiksi ~/vieraskirja/ viittaa käyttäjän omaan vieraskirja-hakemistoon ~teekkat1/vieraskirja/ viittaa käyttäjän teekkat1 vieraskirja-hakemistoon 25
Polkunimet ja viittaaminen / juurihakemisto tteekkar (kotihakemisto) Työhakemisto on Directory2. Halutaan päästä käsiksi File.xls:ään. Miten? 1. /tteekkar/directory1/file.xls (absoluuttinen polku) Directory1 Directory2 2.../Directory1/File.xls (suhteellinen polku) File.xls File.txt File.gif 3. ~/Directory1/File.xls tai ~teekkat1/directory1/file.xls (kotihakemistosta) 26
Hakemistojen ja tiedostojen käsittely Hyvä osata peruskäskyt Auttaa etäyhteyksissä: tiedostojen siirto ja käsittely On hyvä tapa tallentaa esim. eri kurssien harjoitustyöt / kotitehtävät Aallon levytilaan. Tiedostoihin voi tarvittaessa palata kurssin suorittamisen jälkeen, ja Aalto vastaa levytilan tekniikasta (esim. huolehtii varmuuskopioista siltä varalta, että levy hajoaa). 27
Hakemiston sisältö: ls (LiSt) kosh ~ 71 % ls kosh ~ 72 % ls l kosh ~ 73 % ls -alf ls komento kertoo hakemiston sisällön. Lisäoptiot: -l tulostaa lisätietoja tiedostojen ja hakemistojen ominaisuuksista -F erottelee tiedostot, hakemistot, linkit ja erikoistiedostot toisistaan -a näyttää piilotetut tiedostot (.-alkuiset) 28
ls -l komennon tiedot drwxr-xr-x 3 teekkat1 ryhma4 4096 Mar 23 2006 projektikansio -rw-r--r-- 1 teekkat1 users 2589 Dec 16 2006 lettuohje.txt lrwxrwxrwx 1 teekkat1 users 36 Jan 23 2005 lapio -> /u/t1061001/ -rw-r--r-- 1 teekkat1 users 1208 Sep 22 2005 train.ps Nimi Muutosaika Koko Ryhmä Omistaja Linkkien määrä Suojaukset Tiedoston tyyppi 29
Liikkuminen hakemistopuussa: cd (Change Directory) cd hakemiston_nimi vie hakemistoon cd.. vie nykyisen hakemiston isähakemistoon Pelkkä cd vie omaan kotihakemistoon kotihakemistoon voi viitata myös merkinnällä ~/ kotihakemisto Voidaan käyttää myös täydellisiä polkunimiä Esimerkiksi kosh ~ 1 % cd tehtava kosh ~/tehtava 2 % cd../silakka kosh ~/silakka 3 % cd alisilakka kosh alisilakka/ 4 % cd kosh ~ 5% silakka alisilakka tehtava 30
Sijainnin tarkistus: pwd pwd (print working directory) Kertoo nykyisen olinpaikan hakemistorakenteessa 31
Tekstitiedoston sisällön tutkiminen Pieni tiedosto: cat tiedoston_nimi näyttää koko tiedoston sisällön kerralla Iso tiedosto: less tiedoston_nimi more tiedoston_nimi Näyttävät tiedoston sisällön näytölle sivu kerrallaan 32
Tiedoston kopiointi: cp (CoPy) cp tiedoston_nimi kopion_nimi Tiedoston nimenmuuton tai siirto: mv (MoVe) mv vanha_nimi uusi_nimi Miten tämä siirtää? esimerkiksi: kosh ~ 27 % mv kala.txt../kalakori/lohi.txt 33
Tiedoston tuhoaminen: rm (ReMove) rm tiedoston_nimi HUOM! Operaatio ei ole peruutettavissa. Ole varovainen! Optiolla i saadaan aikaan varmistuskysely: esimerkiksi kosh ~78 % rm i pingo.txt rm: remove pingo.txt? 34
Hakemistojen käsittely Hakemiston luominen: mkdir (MaKe DIRectory) mkdir hakemiston_nimi Nimen muuttaminen: mv vanha_nimi uusi_nimi Tuhoaminen: rmdir (ReMove DIRectory) rmdir hakemiston_nimi Huom. rmdir ei poista hakemistoa, jossa on tiedostoja Tyhjennä hakemisto ensin tai Käytä komentoa rm rf hakemiston_nimi 35
Linkit * Kahva tiedoston käyttöön Tiedostoa voidaan käyttää eri paikasta kuin missä se oikeasti on Linkkejä on kahdenlaisia: symbolisia ja kestäviä symbolinen: ln s alkuperäinen_tiedosto linkin_nimi kestävä: ln alkuperäinen_tiedosto linkin_nimi 36
Yhteenveto käsittelykomennoista Luominen Sisällön tutkiminen Tiedosto Hakemisto Linkki * Editorilla tai ohjelmalla mkdir ln, ln s cat, more, less ls, ll (ll) Kopiointi cp cp cp Uudelleen nimeäminen mv mv mv Siirtäminen mv mv mv Tuhoaminen rm rmdir, (rm rf) rm 37
Vinkkejä Komentohistoriassa liikutaan nuolinäppäimillä Sanoja täydennetään tabulaattorilla man komennon_nimi avaa ohjesivun komennosta 38
Jokerimerkit komentorivillä korvaa yhden tai useamman vapaavalintaisen merkin Esim: cp *.html www-data/ korvaa tasan yhden minkä tahansa merkin Esim: mv harj?? harjoitukset/ Jokerimerkit eivät tehoa.-alkuisiin tiedostoihin, ellei tiedoston pisteosa ole erikseen mainittu. 39
Levytilan tarkistaminen: quota quota-komento kertoo oman tilankäytön Ei näytä sähköpostitilan käyttöä! kosh ~ 20 % quota HOME 43.24 of 5120 MB used (0.84%) Aalto-levytila: Sähköposti: 5 Gt 3 Gt 40
Etäyhteydet Koulun yleispalvelimelle Linux-/Mac- /Windowskotikoneelta 41
Etätyöskentely yleispalvelimella Kone kotona tai maailmalla ssh: Komentoriviyhteys (irssi, ohjelmointi, ohjelmistojen käyttö) scp: Tiedostojen siirto Yleispalvelin: kosh.aalto.fi jakaa levytilan koulun windowskoneiden kanssa (Z/:-asema) 42
Komentoriviyhteys yleispalvelimelle Windowsista PuTTY on ilmainen ohjelmisto, jonka voit ladata netistä myös kotikoneellesi. (Googlaa.) Luento T3 43
Komentoriviyhteys teksti Linux-koneilla ei erillistä graafista etäyhteysohjelmaa Etäyhteys saadaan komennolla ssh: ssh koneen_osoite Jos halutaan välittää tietty tunnus: ssh -l tunnus koneen_osoite Etäyhteyskomennot toimivat myös Applen Mac OS X tietokoneissa. Komentorivi on nimeltään Pääte tai Terminal. Esimerkiksi ananas ~ 1 % ssh kosh.aalto.fi tai ananas ~ 2 % ssh -l teekkat1 kosh.aalto.fi tai ananas ~ 3 % ssh teekkat1@kosh.aalto.fi 44
Graafisten ohjelmien etäkäyttäminen Ohjelma ajetaan täällä mutta se näkyykin täällä! Kuva Moi Tieto käyttäjän antamista käskyistä Yleispalvelin Windows-kone Uudelleenohjauksella käytettäviä ohjelmia: Matlab, Mathematica, Gimp.. Luento T3 45
Ohjelmien käyttö etäyhteyden yli Etäyhteyden yli voi käyttää ohjelmia Oletuksena on, että graafiset ikkunat ns. uudelleenohjataan, eli ohjelmaikkuna avautuu koneelle, jolta etäyhteys on otettu ( jonka ääressä istutaan ) Uudelleenohjaus voi olla hidasta, etenkin jos nettiyhteys on hidas ja ajettava ohjelma raskas Uudelleenohjauksen saa pois päältä lisäoptiolla x, esimerkiksi ssh x teekkat1@kosh.aalto.fi Tällöin ohjelmasta avautuu komentoriviversio, mikäli sellainen on olemassa (esim. Matlab), tai ohjelma antaa virheilmoituksen eikä avaudu 46
Tiedostojen siirto WinSCP on ilmainen ohjelmisto, jonka voit ladata netistä myös kotikoneellesi. (Googlaa.) Huom! Tiedostoja ei tarvitse siirtää koulun Windows-koneiden ja yleispalvelimen välillä, koska ne käyttävät samaa levytilaa. Luento T3 47
Tiedostojen siirto Tiedostoja ja hakemistoja voi siirtää komennolla scp: scp mitä_siirretään mihin_siirretään Omalla koneella olevaan tiedostoon viitataan normaalisti Esim. kotihakemistosta käsin: ~/harkat/harj1.pdf Etäkoneella olevaan tiedostoon viitataan tunnus@koneen_osoite:tiedoston_polku tunnus@koneen_osoite viittaa käyttäjän tunnus kotihakemistoon, joten polku alkaa kotihakemistosta käsin Huom! Tiedostoja ei tarvitse siirtää koulun Linux-koneiden ja yleispalvelimen välillä, koska ne käyttävät samaa levytilaa. 48
Tiedostojen siirto esimerkkejä scp ~/ohjeet/letut.txt teekkat1@kosh.aalto.fi:lettuohje.txt Siirretään kotikoneelta tiedosto Aaltolevytilaan. Kotikoneen kotihakemisto ohjeet letut.txt Aalto-levytilan kotihakemisto lettuohje.txt scp teekkat1@kosh.aalto.fi:kurssi/palautus.pdf ~/harkka/ Siirretään Aalto-levytilasta tiedosto kotikoneelle. Kotikoneen kotihakemisto harkka palautus.pdf Aalto-levytilan kotihakemisto kurssi palautus.pdf 49
Oikeudet ja suojaukset Suojaukset määrittelevät, miten kullakin on oikeus käyttää tiedostoa. Tiedostolla tai hakemistolla on aina omistaja Käyttäjäryhmät: u: omistaja (user) g: ryhmä (group) o: muut (others) Omistaja voi määritellä suojauksia. Oikeusryhmät: r: lukuoikeus (read) w: kirjoitusoikeus (write) x: suoritusoikeus (execute) 50
Oikeudet ja suojaukset drwxr-xr-x 3 teekkat1 ryhma4 -rw-r--r-- 1 teekkat1 users 4096 Mar 23 2006 projektikansio 2589 Dec 16 2006 lettuohje.txt r: lukuoikeus (read) w: kirjoitusoikeus (write) x: suoritusoikeus (execute) -rwxrwxrwx Graafisesti tai Komentorivillä : chmod (CHange MODifiers) user group others ryhmät 51
Suojausten vaikutukset Tiedosto Hakemisto Symbolinen linkki Lukuoikeus read r Tiedoston sisällön voi lukea Hakemistossa olevien tiedostojen nimet näkyvät Viittaa tiedostoon Kirjoitusoikeus write w Tiedoston sisältöä voi muuttaa Hakemistoon voidaan lisätä ja sieltä voidaan poistaa tiedostoja Viittaa tiedostoon Suoritusoikeus execute x Tiedosto voidaan suorittaa Voidaan siirtyä alihakemistoihin ja käyttää tiedostoja Viittaa tiedostoon 52
Suojauksista Aalto IT:n järjestelmissä Aalto IT:n Linux-järjestelmissä jokaisen käyttäjän kotihakemisto on suojattu teknisin keinoin Tavallisista Unix-järjestelmistä poiketen yksikään käyttäjä (ylläpitäjää lukuunottamatta) ei pääse käsiksi muihin kuin omaan kotihakemistoonsa ja sen sisältöön Tiedostosuojauksilla ei siis ole Aalto IT:n järjestelmissä yhtä suurta merkitystä kuin muulloin Suojauksien asettaminen on kuitenkin hyvä opetella: laitosten ym. omissa Unix-järjestelmissä vastaavanlaista yleistä suojausta ei lähtökohtaisesti ole 53
Prosessi * Prosessi on käyttöjärjestelmässä käynnissä oleva ohjelma. Prosessori ja käyttöjärjestelmä suorittavat ohjelmaa prosessin sisältämän pinotietorakenteen informaation mukaan. Luo uusia prosesseja (lapsiprosessit) Sisältää kaiken tiedon ajettavasta ohjelmasta 54
Prosessien hallinta * + C Keskeyttää prosessin + Z kosh ~ 53 % fg Pysäyttää prosessin (suspend) Palauttaa pysätystilasta suoritustilaan (foreground) 55
Prosessiluettelo: ps * kosh ~ 52 % ps PID TTY S TIME CMD 26265 pts/211 I 0:00.05 -bin/tcsh (tcsh) 26269 pts/211 S + 0:20.54 irssi 465642 pts/432 S 0:00.10 -tcsh (tcsh) 436539 pts/600 I 0:00.10 -tcsh (tcsh) 436549 pts/600 S + 0:00.01 screen -r Tulostaa Aallon koneilla suoraan käyttäjän omat prosessit Muissa koneissa mahdollisesti: ps u oma_käyttäjätunnus 56
Prosessien tappaminen: kill * kosh ~ 54 % ps PID TTY S TIME CMD 26265 pts/211 I 0:00.05 -bin/tcsh (tcsh) 465642 pts/432 S 0:00.10 -tcsh (tcsh) 466062 pts/432 T 0:00.26 emacs sika.txt kosh ~ 55 % kill 466062 kosh ~ 56 % ps PID TTY S TIME CMD 26265 pts/211 I 0:00.05 -bin/tcsh (tcsh) 465642 pts/432 S 0:00.11 -tcsh (tcsh) [1] + Terminated emacs sika.txt kill -9-1 tappaa kaikki prosessit 57
Lisää tietoa komentorivikäytöstä http://wiki.aalto.fi/display/unixaapinen/ (Linkki kurssin noppasivulta Muu materiaali.) 58
Pari sanaa IRC:istä Internet Relay Chat, irkki, internetin pikaviestintäpalvelu ~ reaaliaikainen keskusteluohjelma Kehitetty vuonna 1988 Oulun yliopistolla, nykyään laajalle levinnyt Keskustelukanavia, privaattikeskusteluita Otaniemessä Tietotekniikan laitoksen, ns. Niksularyhmän ylläpitämä palvelin irc.cs.hut.fi Luento T3 59
Miksi irkkaisin? Kursseilla IRC-vastaanottoja Killoilla IRC-kanavia Muuta keskustelua Kurssikanavat eivät ole sama asia kuin IRC-Galleria! Miksi tekstipohjainen irssi? irc.cs.hut.fi-palvelimelle pääsee vain Aallon verkosta irssi helppo tapa irkata Luento T3 60
Irssi Tekstipohjainen IRC-ohjelma, Aallon Linux-koneilla ja yleispalvelimella Komennot alkavat kauttaviivalla / Aloitus komentorivillä komennolla irssi Tämän jälkeen esimerkiksi: /server irc.cs.hut.fi /nick omanimimerkki /join #kanava Muista kanava: Keskustelua kanavalla /leave #kanava #lapiokurssi /quit Luento T3 61
Irssin käyttö screen-ohjelman avulla Kukaan ei päivystä ircissä jatkuvasti Käynnistetään ohjelma screeniin, jonne irssi jätetään pyörimään Palataan sopivana aikana katsomaan, mitä kanavalle on sillä aikaa kirjoiteltu Luento T3 62
Irssin käyttö screen-ohjelman avulla screen irssi /server irc.cs.hut.fi /nick omanimimerkki /join #kanava screenin irroitus: Ctrl A D (voit kirjautua pois koneelta, irssi jää pyörimään) screeniin paluu: screen r irssin ja screenin lopettaminen: /quit Luento T3 63
Kysymyksiä 64