L2: linux linux: Komentotulkki

Samankaltaiset tiedostot
linux: komennoista linux linux

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

linux: Ympäristömuuttujat

Tieteellinen laskenta I (Scientific Computing I)

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

linux: komennoista linux linux

linux: Ympäristömuuttujat

Tieteellinen laskenta I (Scientific Computing I)

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Opiskelijan pikaopas STACK-tehtäviin. Lassi Korhonen, Oulun yliopisto

Metropolia Ammattikorkeakoulu

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luvuilla laskeminen. Esim. 1 Laske

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 9: L A T E X

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Korpusten käsittely clt131, P Luento 4

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

Harjoitus 1 -- Ratkaisut

Rautaisannos. Simo K. Kivelä

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 2: Linux

5. HelloWorld-ohjelma 5.1

Ohjelmoinnin peruskurssi Y1

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua.

Kieliteknologian ATK-ympäristö Toinen luento

Matriisilaskenta Laskuharjoitus 1 - Ratkaisut / vko 37

Ohjelmoinnin perusteet Y Python

Luento 3. Timo Savola. 7. huhtikuuta 2006

Funktion määrittely (1/2)

Komentotulkki. Kysymyksiä

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

Ohjelmoinnin perusteet Y Python

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

Harjoitus 1 -- Ratkaisut

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 6: Alkeisfunktioista

Tähtitieteen käytännön menetelmiä: I

Luento 4. Timo Savola. 21. huhtikuuta 2006

Valitse ruudun yläosassa oleva painike Download Scilab.

Luento 2. Timo Savola. 31. maaliskuuta 2006

ASCII-taidetta. Intro: Python

KAAVAT. Sisällysluettelo

Sangen lyhyt L A T E X-johdatus

Kieliteknologian ATK-ympäristö Kolmas luento

Pienimmän Neliösumman Sovitus (PNS)

Jypelin käyttöohjeet» Ruutukentän luominen

L9: Rayleigh testi. Laskuharjoitus

BL40A0000 Säätötekniikan ja signaalinkäsittelyn

5. HelloWorld-ohjelma 5.1

2 Konekieli, aliohjelmat, keskeytykset

Ohjelmoinnin perusteet Y Python

Julkaiseminen verkossa

4. Lausekielinen ohjelmointi 4.1

Ohjeita LINDOn ja LINGOn käyttöön

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Lupa opetuskäyttöön pyydettävä. Näppäimistö. Kohdistimen ohjausnäppäimistö. Funktionäppäimistö. Kirjoitusnäppäimistö

Ohjelmoinnin perusteet Y Python

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

Johdatus Ohjelmointiin

Seuraavassa on esitetty seuraavien laskutoimitusten suoritukset eri laskinmalleilla

linux: koneelta toiselle

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

MS-A0102 Differentiaali- ja integraalilaskenta 1

Matriiseista. Emmi Koljonen

Raspin Geany-IDE:n etäkäyttö

plot(f(x), x=-5..5, y= )

Ohjelmointi 1. Kumppanit

Päivitys käyttäen USB-tikkua

L9: Rayleigh testi. Laskuharjoitus

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Unix. Markus Norrena

Trigonometriset funk4ot

1. HARJOITUS harjoitus3_korjaus.doc

0. Kertausta. Luvut, lukujoukot (tavalliset) Osajoukot: Yhtälöt ja niiden ratkaisu: N, luonnolliset luvut (1,2,3,... ) Z, kokonaisluvut

Kompleksiluvut., 15. kesäkuuta /57

Matlab- ja Maple- ohjelmointi

Kieliteknologian ATK-ympäristö Neljäs luento

Harjoitus 2 -- Ratkaisut

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä.

Harjoitus 2 -- Ratkaisut

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Ohjelmoinnin perusteet Y Python

Komentotulkki (SHELL) C- "perhe" - csh, alkup. C shell. Komentokieli. kieltä. - tcsh - edellisen laajennettu versio

Ubuntu tunkkausta En US / Helsinki asennuksen jälkeen jotta loki5ac toimisi oikein Winen päällä.

Pieni johdatus L A TEXin Listings-pakettiin. Jonne Itkonen

13. Hyvä ohjelmointitapa (osa 1) 13.1

Octave-opas. Mikä on Octave ja miksi? Asennus

Sangen lyhyt L A T E X-johdatus

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Transkriptio:

(kuva:@www.glasbergen.com) Tavoite: Kaikki oppivat linux:n perusteet Perusteet jo tutut Luennoille ja laskuharjoituksiin osallistuminen vapaaehtoista Monia linux alkeisoppaita www linux: Komentotulkki Suorittaa käyttäjän terminaalilta kirjoittamia, komentoja, joita voi selata nuolinäppäimillä ja, sekä täydentää näppäimellä Jokainen komento tekee yhden asian hyvin: tulostus, tiedon siirtäminen, verkkoyhteys,.. Hyvin riippuu käyttäjästä, koska valinnanvaraa on loputtomiin Asioita ei tarvitse keksiä uudelleen. Vain pieni osa komennoista opeteltava ulkoa sujuvaa käyttöä ajatellen Käytännössä: Opeteltava yksi komento kerrallaan, s.o. mitä milloinkin sattuu tarvitsemaan Käytännössä: Monimutkaisemmat komennot kannattaa kirjoittaa muistiin tai ohjelmiin, koska vie aikansa ymmärtää ne ja saada ne toimimaan. Asenne: En muista...? Kerran ratkaistu OK!

Hakemistot (kuva:@www.oreilly.com) linux komennoissa isot ja pienet kirjaimet merkittäviä (case sensitive) Kokeile komentoja pwd Return ja PWD Return ja PwD Return Käyttäjän kotihakemisto on /home/username/ Kotihakemiston pääsee mistä tahansa muusta hakemistosta komennolla cd Return Kotihakemiston voidaan lyhentää merkillä eli sinne pääsee myös komennolla cd Return Kotihakemistoon luodut hakemistot ja tiedostot kuuluvat käyttäjälle Kotihakemisto on käyttäjän henkilökohtainen työtila koneella linux:n tiedostorakenne on kuin puu (engl. directory tree). Sen juuri (engl. root) on hakemisto /. Juureen pääsee komennolla cd /. Return Käyttäjän oikeudet hakemistopuussa kotihakemiston ulkopuolella oleviin hakemistoihin ja tiedostoihin on tarkkaan rajattu Erilliset kiintolevyt ja muut vastaavat ovat osa hakemistopuuta, eivätkä ulkoisesti eroa hakemistoista

Hakemistot (kuva:@www.linuxforfreshers.com) Tästä lähtien sanaa komento käytetään säästeliäästi, koska komennot pyritään kirjoittamaan violetilla. cd Return siirtää kotihakemistoon Fuksiläppärissä komentoltulkkiin ilmestyy username@fuksi: $ pwd Return tulostaa /username/home/ pwd Return kertoo työhakemiston eli hakemiston jossa työskentelet nyt. Sen lyhenne on./ ls Return listaa työhakemiston sisällön eli saman tuloksen antaa siis myös ls./ Return Kaikkia tiedostoja ei kannata luoda kotihakemistoon. Tiedostot kannattaa luoda / jaotella / sijoittaa / siirtää... eri hakemistoihin esimerkiksi aiheen mukaan: linux, latex, ohjelmat,... Komennolla mkdir luodaan hakemistoja. Esimerkiksi mkdir ohjelmat Return luo työhakemistoon uuden hakemiston./ohjelmat/ cd kohdehakemisto siirtää työhakemistosta hakemistoon./kohdehakemisto Esimerkiksi yllä annettujen komentojen jälkeen cd ohjelmat Return siirtää työhakemistosta äsken luotuun uuteen hakemistoon./ohjelmat/

Hakemistot (kuva:@www.rafaelespejo.com) Absoluuttinen polku ilmaisee tiedoston tai hakemiston sijainnin hakemistopuussa juuresta lähtien. Esimerkiksi seuraavasti /home/username/kurssit/ Tähän hakemistoon voi siirtyä mistä tahansa työhakemistosta komennolla cd /home/username/kurssit/ Return Suhteellinen polku ilmaisee tiedoston tai hakemiston sijainnin hakemistopuussa työhakemistosta lähtien. Esim: Jos työhakemisto on /home/username/, riittää komento cd kurssit/ Return siirtymiseen hakemistoon /home/username/kurssit/ Esim: Jos työhakemisto on /home/username/, riittää komento cd.. Return siirtymiseen hakemistoon /home/ Esim: Jos työhakemisto on /home/username/ riittää komento ls./kurssit/ Return listaamaan hakemiston /home/username/kurssit/ sisällön clear Return tyhjentää linux komentotulkin näytön

L2: emacs L2: emacs L2: emacs (kuvat:@research.csc.fi, @blogg.slu.se) TAPA 2: Tiedoston nimi editointi komennolla emacs nimi & Return linux komentotulkki jää käyttöön Näyttöön ilmestyy editorin ikkuna Tiedostoon voi kirjoittaa... Tallennus Ctrl + x Crtl + s Sovellutuksia voi ajaa latex nimi.tex Return 3 nimi.py Return samalla, kun editoi tiedostoa nimi toivottuun muotoon Tärkeimmät näppäimet Ctrl Alt emacs Pikaopaassa www M = Alt ja C = Ctrl

L2: emacs L2: emacs L2: emacs emacs on L A T E X, ja octave ystävällinen tekstieditori Kopioidaan wget komennolla tiedosto LatexAlkukesken.tex kurssin kotisivulta komennolla wget http://www.helsinki.fi/ jetsu/tila/latexalkukesken.tex Opetellaan samalla wget komennon ja Copy Link Location sujuva yhdistäminen Aloitetaan editointi emacs LatexAlkukesken.tex & Return Tätä tiedostoa voi editoida kuten tahtoo. Alkuperäisen voi hakea aina uudestaan kotisivulta emacs: Näyttää kursorin rivinumeron. Kursori hyppii välillä. L A T E X komennot eri värisiä,... Editoidaan virhe mielivaltaisella rivillä emacs ilmoittaa virheestä (huom: ei aina) Tallennetaan virhe siitä huolimatta Ajetaan latex LatexAlkukesken.tex Return L A T E X ilmoittaa millä LatexAlkukesken.tex rivillä virhe on Voidaan löytää ja korjata virhe Hello.py kotisivulta emacs Hello.py & Return Kursori pomppii, värejä, tabulaattori tuntee komennot,...... virhe... 3 Hello.py Return... ilmoittaa... Voidaan löytää ja korjata virhe Lopputulos ratkaisee Voitte käyttää myös muita editoreja kuin emacs Kaikki assistentit osaavat varmasti neuvoa varmasti vain emacs käyttöä

L2: latex L2: L A T E X L A T E X dokumentin tuottaminen Kopioidaan LatexOppikesken.tex kotisivulta Käytetään linux komentotulkissa yhtä aikaa emacs ja evince ikkunaa ja ajatetaan L A T E X komentoja emacs LatexOppikesken.tex & Return latex LatexOppikesken Return dvips LatexOppikesken -o Return evince LatexOppikesken.ps & Return latex kääntää.tex tiedoston. dvips luo.ps tiedoston. evince www näyttää lopputuloksena syntyvän.ps tiedoston, jota voi lukea, tulostaa,... Yksi monista vaihtoehtoisista tavoista: emacs LatexOppikesken.tex & Return pdflatex LatexOppikesken Return evince LatexOppikesken.pdf & Return pdflatex kääntää.tex tiedoston, evince näyttää.pdf tiedoston, jota voi lukea,...

L2: latex L A T E X syötetiedoston rakenne L A T E X syötetiedostojen rakenne L A T E X syötetiedosto alkaa määrittelemällä toivotut optiot (loputtomasti vaihtoehtoja) \documentclass[optiot]{luokka} \usepackage[optiot]{paketti} \usepackage[optiot]{paketti}... \begin{document}...tekstiä... \end{document} Esimerkiksi kotisivun L A T E X syötetiedosto LatexOppikesken.tex alkaa riveillä % Latex ohittaa kaiken, mikä on merkin "%" oikealla puolella \documentclass[a4paper,10pt]{article} % Dokumentin muoto... \usepackage[english]{babel} % Paketti: skandeille ä,ö, \usepackage[utf8]{inputenc} % -"- : -"-... \begin{document} % Dokumentti alkaa... Tässä dokumentissa toimivat skandit: \\ Älyköt öisin ihmettelevät, miksi \LaTeX ~tökkii. Komentit alkavat L A T E X ohjausmerkillä%. Sen voi kirjoittaa tekstissä komennolla \% Muita erikoismerkkejä ovat\ # $ & _ ˆ { } Nämä erikoismerkit ohjaavat L A T E X ladontaohjelmaa. Koettakaa ottakaa itse selvää, kuinka ne voidaan kirjoittaa L A T E X dokumentin sisään, s.e. ne tulostuvat pelkkänä tekstinä kuten yllä

L2: latex Ohjelmointi - perusteet Ohjelmoinnissa tarvitaan Tekstieditori ohjelmien lähdekoodin laadintaan: Tällä kurssilla opetetaan emacs editorin käyttö (Muutkin käy) Kääntäjä: Kääntämään lähdekoodin koneen ymmärtämään muotoon Tällä kurssilla ohjelmointi kielen alkeet Eräs monista oppaista www Ohjelmien lähdekoodi koostuu Muuttujista: www Muuttuvia suureita, kuten lukuja, tekstinpätkiä,... (Esimerkiksi a=1) Funktioista, aliohjelmista: www Ottavat vastaan muuttujia. Tekevät niiden avulla jotain toivottua. Luovat ja palauttavat uusia muuttujia,... (Esimerkiksi: b=cos(a)) Ohjausrakenteista: www Ohjaavat ohjelman toimintaa. Käskevät esimerkiksi toistamaan tiettyä ohjelman kohtaa useita kertoja (Esimerkiksi: for...) tai valitsemaan useista mahdollisista suorituspoluista vain yhden (Esimerkiksi: if... elseif)

L2: 3 Return käynnistää komentotulkin >>> Poistuminen: >>> Crtl + d Kolme tapaa ajaa ohjelmia 1: linux komentotulkissa 3 file.py Return 2: komentotulkissa >>> import os Return >>> os.system( file.py ) Return 3: file.py:n ensimmäisenä rivinä #!/usr/bin/env 3 linux komentotulkissa./file.py Return Jos ei toimi? chmod u+x file.py Return Tällä kurssilla: 1. vaihtoehto komentotulkissa >>> help( import ) Return kertoo mitä komento import tekee komentotulkissa >>> help() Return vie interaktiiviseen manuaaliin Jotkin ongelmat voivat johtua versiosta, jonka saa selville komennolla - -version Return Esimerkiksi 5.2.0 litania >>> import os >>> os.system( 3 file.py ) korvasi 2.7.6 komennon >>> execfile( file.py )

L2: komentotulkissa >>> aa=2 Return >>> Aa=1 Return >>>print(aa-aa) Return >>>print(aa*aa) Return : Case sensitive >>>ä=9 Return Onnistuu 5.2.0 :ssa Ei onnistunut 2.7.6 :ssa Monet ongelmat vältetään, kun ei käytetä skandeja, edes # merkin jälkeen >>> print(aa-aa) Return Kaatuu! Eli :ssa myös tyhjillä merkkeillä merkitystä :ssa sisennys on tosi tärkeä Modulo: print(4%2) printtaa 0 Modulo: print(4%3) printtaa 1 Modulo: print(0.7%0.2) printtaa 0.09999999999999992 ( 0.1) Peruslaskutoimitukset + summa - erotus * kertolasku ** potenssiin korotus / jakolasku Lisää löytyy täältä www Vertailuoperaattorit == yhtä suuri < pienempi > suurempi >= suurempi tai yhtä suuri <= pienempi tai yhtä suuri! = eri suuri

L2: (kuva:http://www.shmoop.com/trig-functions/) Kokeillaan komentotulkissa import numpy a=numpy.arange(2) print(a) tulostaa [0 1] b=2.+a print(b) tulostaa [2. 3.] print(a*b) tulostaa [0. 3.] Tulos = Tulo = Vastaavien alkioiden tulot : Matemaattiset funktiot saadaan käyttöön komennolla import numpy Kokeillaan import numpy print(numpy.cos(3.14)) tulostaa -0.999998731728 Yhden valitun funktion importointi from numpy import cos print(cos(3.14)) tulostaa -0.999998731728 Tavallisimmat funktiot cos(x) sin(x) tan(x) power(x,y) sqrt(x) exp(x) log(x) cos x sin x tan x x y x e x lnx Trigonometriset funktiot: [x] = radiaani

L2: Pari malliohjelmaa wget http://www.helsinki.fi/~jetsu/tila/hello.py #! / usr / bin / env 3 # K o m e n t t i r i v i : Tama on ohjelmani Hello. py p r i n t ( " Hello world! " ) 3 Hello.py tai./hello.py (Vaatii 1. rivin komennon #!/usr...) Sama tulos print("hello") ja print( Hello ), s.o merkeillä tai Kommenttirivit alkavat merkillä #. Käytä niitä ohjelman selkeyttämiseen Ohjelmatulostuksissa merkki selventää, että kyseisessä kohdassa on yksi tyhjä merkki wget http://www.helsinki.fi/~jetsu/tila/forlooppialku.py # K o m e n t t i r i v i : Tama on ohjelmani ForLooppiAlku. py # Ohjauskomennon r i v i paattyy merkiin " : ", # j o t a seuraa sisennys for i in range ( 5 ) : p r i n t ( Hei maailma! ) for i in range ( 5 ) : p r i n t ( i ) 3 ForLooppiAlku.py 1. looppi tulostaa viidesti Hei maailma! ja 2. looppi tulostaa luvut 0 1 2 3 4 Ohajuskomento päättyy : merkkiin. Kaikki siihen liittyvät alla olevat rivit sisennetty Ohjauskomennot opetetaan myöhemmin. Looppimalli ForLooppiAlku.py annetaan, koska sitä tarvitaan toisella kurssilla. Lopuksi tehdään toivottavasti selventäviä ForLooppiAlku.py editointikokeita

L2: funktiot (kuva:http://www.dragonlinux.org) Laskuharjoitus Seuraavan sivun ohjelma PythonFunktioita.py laskee ja tulostaa muuttujat a = π, b = sin(a), c = cos(a), d = tan(a), e = 1, f = asin(e), g = acos(e), h = atan(e), i = 9, j = i, k = i 2 (missä i on imaginaariluku i 2 = 1), m = 1 + i, kompleksiluku, n = 2 + 3i, kompleksiluku, o = m + n, p = o, q = e = 2.71828... = Neperin luku, r = ln(q) (luonnollinen logaritmi), s = log(q) (10 kantainen logaritmi), t = 3, u = t ja v = t 4 Ohjelmat monimutkaisempia Sitä vaikeampi tehdä yksikäsitteinen versio Useita erilaisia oikeita vastauksia

L2: Malliohjelma funktioista wget http://www.helsinki.fi/~jetsu/tila/pythonfunktioita.py # Kommenttirivi : Tama on ohjelmani PythonFunktioita. py import os ; os. system ( clear ) # Tyhjennetaan naytto import numpy as np # importoidaan koko numpy moduli # aletaan kayttaa "numpy" s i j a s t a l y h e n n e t t a " np " a=np. p i ; p r i n t ( a ) # Radiaanit t r i g o n o m e t r i s i l l e f u n k t i o i l l e b=np. sin ( a ) ; print ( b ) # " c=np. cos ( a ) ; p r i n t ( c ) # " d=np. tan ( a ) ; print ( d ) # " e=1 ; print ( e ) # " f =np. a r c s i n ( e ) ; p r i n t ( f ) # " g=np. arccos ( e ) ; print ( g ) # " h=np. arctan ( e ) ; print ( h ) # " i =9 ; p r i n t ( i ) # J=np. s q r t ( i ) ; p r i n t ( J ) # n e l i o j u u r i. Huom: i s o " J " e i p i e n i " j ", # koska " j " symbolia kaytetaan kompleksiluvuille k=1 j 1 j ; p r i n t ( k ) # " l=complex(0,1) complex (0,1) ; print ( l ) m=1+1 j ; print (m) # " n=2+3 j ; print ( n ) # " o=m+n ; print ( o ) # " p=abs ( o ) ; print ( p ) # q=np. exp (1) ; print (q) # e r =np. log ( q ) ; p r i n t ( r ) # l n s=np. log10 (q) ; print ( s ) # log t= 3 ; p r i n t ( t ) # u=abs ( t ) ; print ( u ) # i t s e i s a r v o v=np. power ( t, 4. ) ; p r i n t ( v ) # potenssi Kaksi komentoa samalla rivillä erotettu merkillä ; (Tilanpuute Huonoa koodausta... ) Lisäksi tietoa laskuharjoitusten suorittamisesta TMC ympäristössä täällä www