Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi

Samankaltaiset tiedostot
11/21/00. Sis llys. Prosessin tilat. Prosessien hallinta. Johdatus Linuxiin/UNIXiin: Osa 3

xv ja mpage Sis llys Latex-ladontaohjelma Tekstin ladonta (kertausta) ym. Johdatus Linuxiin/UNIXiin: Osa 3

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006

Komentotulkki. Kysymyksiä

Kieliteknologian ATK-ympäristö Neljäs luento

Korpusten käsittely clt131, P Luento 4

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

Korpusten käsittely clt131, P Luento 5

CLT131 Korpusten käsittely

Korpusten käsittely clt131, P Luento 3

Luento 3. Timo Savola. 7. huhtikuuta 2006

Korpusten käsittely clt131, P Luento 1

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

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kieliteknologian ATK-ympäristö Kuudes luento

Julkaiseminen verkossa

Luento 2. Timo Savola. 31. maaliskuuta 2006

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

Asialista. CLT131: Tekstityökalut 2011, kahdeksas luento. Merkistöistä ja kalvostoista. Asialista. Tommi A Pirinen

Kieliteknologian ATK-ympäristö Toinen luento

Ctl160 Tekstikorpusten tietojenkäsittely

CLT131: Tekstityökalut 2011, kahdeksas luento

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Perusohje vi-editorin käyttöön

Zeon PDF Driver Trial

Asialista. CLT131: Tekstityökalut 2010, kolmas luento. Laskuharjoitusaikataulut. Harjoituksissa havaitut virheet. Käytännön asiat/kertaus

Johdatus Ohjelmointiin

Sekalaisia selvennyksiä

Asiakashallinta. TaikaTapahtumat -käyttöohje

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

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

Ohjelmoinnin perusteet Y Python

Hakemistojen sisällöt säilötään linkitetyille listalle.

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Python-ohjelmointi Harjoitus 5

Kieliteknologian ATK-ympäristö Viides luento

Ohjelmoinnin jatkokurssi, kurssikoe

Kieliteknologian ATK-ympäristö Viides luento

Sisällys. Johdatus Linuxiin/Unixiin: Osa 4. Arkistointi ja pakkaus. Hakemistojen ja tiedostojen arkistointi ja pakkaus.

Tiedostonhallinta. Yleistä

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

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

Unix. Markus Norrena

CLT131: Tekstityökalut 2011, viides luento

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

CLT131: Tekstityökalut 2011, kuudes luento

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU

CLT131 Korpusten käsittely (3op)

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

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

12. Javan toistorakenteet 12.1

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Ohjelmoinnin perusteet Y Python

Metropolia Ammattikorkeakoulu

2 Konekieli, aliohjelmat, keskeytykset

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Tehtävä 2: Säännölliset lausekkeet

Tekstinkäsittelyn jatko KSAO Liiketalous 1. Osanvaihto näkyy näytöllä vaakasuorana kaksoispisteviivarivinä ja keskellä riviä lukee osanvaihdon tyyppi

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Käyttö ohjeet kirpputorille

12. Javan toistorakenteet 12.1

CLT131: Tekstityökalut 2010, kuudes luento

linux: Ympäristömuuttujat

KIRJANPITO JA RESKONTRA

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

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

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

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

Uolevin reitti. Kuvaus. Syöte (stdin) Tuloste (stdout) Esimerkki 1. Esimerkki 2

Linux-virtuaalipalvelimen ylläpito

SELECT-lauseen perusmuoto

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Unix-kurssi, harjoitustehtävät

Korpusten käsittely clt131, P Luento 6

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

KESKI-SUOMEN MAAKUNNAN JA LÄHIKUNTIEN LUKIOIDEN TIETOTEKNIIKAN II KILPAILU

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

WORD TYYLILLÄ. Tietohallintokeskus Miksi tyylit? Tyylien lisääminen: joko jälkikäteen tai etukäteen

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Unix-kurssi, harjoitustehtävät

Ohjelmoinnin perusteet Y Python

12. Näppäimistöltä lukeminen 12.1

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

CLT131: Tekstityökalut 2010, kolmas luento

Transkriptio:

Sisällys Johdatus Linux/Unixiin: Osa 2 Prosessien hallinta Syöttö ja tulostus Säännölliset lausekkeet Tiedostojen käsittelyä Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin Yliopisto 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 2 Prosessin tilat Prosessien hallinta Prosessi = itsenäinen tapahtuma, joka on suorituksessa (yleensä komento) Prosessi voi olla jossain seuraavista tiloista: Suorituksessa etualalla (foreground process) Suorituksessa taka-alalla (background process) Pysäytettynä (suspend) Taustaprosessi pysäytetään, jos se yrittää kirjoittaa näytölle 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 4 Prosessien monitorointi Prosessit ovat komentotulkkikohtaisia Vain yksi prosessi on etualalla kerrallaan. Se saa lukea näppäimistöä ja tulostaa näytölle. Tausta- ja pysäytettyjä prosesseja voi olla useita. ps [optiot] Näyttää suorituksessa olevat prosessit -a Näytä kaikki prosessit (oletus: omat) -l Näytä enemmän tietoja jobs Näyttää samasta tulkista käynnistetyt prosessit, jotka ovat taustalla tai keskeytyneet (tai status ei tiedossa) top Monitoroi ja näyttää prosessien kuormitustilanteen Lopetus q -komennolla 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 5 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 6

Prosessien hallintakomentoja Prosessin vienti tausta-ajoon & Vie aloitettavan komennon taustalle Esim. cc ohjelma.c & C-z Pysäyttää etualalla olevan prosessin Prosessin tuonti etu-alalle fg [%tunnus] Tuo pysäytetyn tai taustalla olevan prosessin etualalle bg [%tunnus] Siirtää pysäytetyn prosessin taustalle Tunnuksen (PID) saa selville komennolla ps. 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 7 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 8 Esimerkkejä Prosessin tuhoaminen: kill [-n]tunnus Lähettää lopetuskäskyn prosessille, jonka tunnus on "tunnus Optio -n: Määrää mikä lopetuskäsky lähetetään prosessille. -9 on vahvin Voit tuhota omia prosesseja toisista terminaaliikkunoista tai toisesta koneesta käsin (login) $ cc logfilt2.c & $ on kursori [1] 7063 $ jobs [1] + background cc logfilt2.c $ kill -9 %1 Huom. %-merkin käyttö [1] Killed cc logfilt2.c 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 9 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 10 $top & ps top-prosessi taustalle ja prosessilistaus PID TTY STAT TIME COMMAND 1009 p3 T 0:00 top $kill 1009 Syöttö ja tulostus: stdin, stdout, stderr Prosessin kolme syöttö- ja tulostuskanavaa: stdin on syöttökanava, jonka kautta prosessi saa tietoa ulkoa (yleensä näppäimistöltä) stdout on tulostuskanava, jonka kautta prosessi antaa tietoja toiminnastaan (yleensä näyttö) stderr on virheilmoituskanava, jonka kautta prosessi voi esim. tiedottaa poikkeustilanteista (eli tulostaa jotain, mutta eri kanavaa pitkin kuin stdout:n tapauksessa) 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 11 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 12

Syöttö ja tulostus: Oletuksia Oletusarvoisesti: stdin on yhdistetty näppäimistöön stdout ja stderr on yhdistetty näyttöön Sekä syöttö että tulostus voidaan uudelleenohjata (redirect) Voidaan lukea muuta kuin näppäimistöä ja kirjoittaa muulle kuin näytölle Syöttö ja tulostus: Uudelleenohjaus Komennon uudelleenohjausparametrit: komento >tiedosto stdout ohjataan tiedostoon "tiedosto komento >>tiedosto stdout lisätään tiedoston "tiedosto" perään (tuhoamatta alkua) komento <tiedosto stdin luetaan tiedostosta "tiedosto" 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 13 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 14 Esimerkkejä ls -l >tiedosto.txt Kokonaan uusi listaus tiedosto ls -l >>tiedosto.txt Tuplalistaus tiedoston loppuun sort < tiedosto.txt Tiedoston näyttö päätteelle sivu sivulta Syöte ja tulostus yhdistettynä Esim. sort < lista.txt > aakkostettu_lista.txt "((sort <lista.txt) >aakkostettu_lista.txt)" Syötteen loppumerkki on C-d päättää myös näppäimistöltä annetun syötteen Esim. cat > tiedosto Kirjoittaa tiedoston Tiedostosta luettaessa syötetiedostoa ei tarvitse lopettaa C-d-merkillä 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 15 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 16 Stderr uudelleenohjaus Komennon saama syöte on eri asia kuin komennon saamat parametrit. Parametrit annetaan komentorivillä Komento saa syötteensä suoritusaikana Yleensä stderr:a ei ohjata uudelleen Sen voi kuitenkin tehdä seuraavasti: komento >& tiedosto komento > tiedosto 2>&1 Molemmissa komennoissa sekä stdout että stderr ohjataan tiedostoon "tiedosto" 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 17 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 18

Putket (pipe) Komentojen syöttöä ja tulostusta voidaan putkittaa: Yhden prosessin tulostus on toisen syöte Komennon komento1 tulostus ohjataan komennon komento2syötteeksi putkimerkillä : komento1 komento2 Esimerkkejä ls -l wc Laske merkit, sanat ja rivit tiedostolistauksesta ls -l wc >tiedostolkm Kuten yllä, mutta tulos tiedostoon cat ~/src/*.c wc Kaikkien C-lähdekielisten ohjelmien merkkien, sanojen, rivien yhteislukumäärä 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 19 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 20 Tulostus putken keskeltä Putkia voi olla useita peräkkäin Putken alussa ja lopussa voi olla uudelleenohjausta who sort cat -b > kayttajat.txt numeroitu käyttäjälistaus Myös putken keskeltä voi saada tulosteen tiedostoon T-kappaleella : tee [optiot][tiedostot] Kopioi stdin:n stdout:lle ja tiedostoihin Optiot: -a lisää tulostus tiedoston loppuun sort tiedosto tee lajiteltu_tiedosto more Tiedoston lajittelu & tulostus sivuittain 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 21 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 22 Putki yhdistettynä unixin filosofiaan tehdä pieniä komentoja tarjoaa keinot koota monimutkaisia komentoja pienistä paloista Putkifilosofian johdosta lähes jokainen komento osaa käyttää syöttö- ja tulostuskanavia Säännölliset lausekkeet 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 23

Merkkijonojen kuvaaminen Tavallinen merkkijono Jono annettuja peräkkäisiä merkkejä Säännöllinen lauseke Keino kuvata merkkijonojoukkoja valinnaisuus, ehdollisuus ja toisto Eräiden komentojen ja apuohjelmien käyttämä yhtenäinen esitystapa mm. grep, less, more, awk, emacs 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 25 Säännöllinen lauseke Säännöllinen lauseke (regular expression) on hahmo (pattern), jolla voietsiä siihen sopivat merkkijonot. Monipuolisempi mekanismi kuin jokerimerkit (ja eri käyttöön) Säännöllisen lauseke sisältää: Tavallisia merkkejä: kuvaavat itsensä Erikoismerkkejä: kuvaavat rakenteita '-merkit alussa/lopussa (ei aina välttämätöntä) 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 26 Erikoismerkkejä. Mikä tahansa merkki (paitsi rivinvaihto) * 0-n kpl edellistä merkkiä \ Poista erityismerkitys [...] Mikä tahansa [...]:n sisällä oleva merkki - Väli, esimerkisi 0-9, a-c. ^ Rivin alku [^ ]Hyväksytään merkit, jotka eivät ole []:n välissä $ Rivin loppu 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 27 Eräät komennot (awk, egrep, less,...) ymmärtävät myös seuraavat erikoismerkit : + 1-n kpl edellistä merkkiä? 0-1 kpl edellistä merkkiä Vaihtoehdot () Ryhmittelysulut Säännölliset lausekkeet jokerimerkit : Säännöllisiä lausekkeita käytetään ohjelmien sisällä (yl. merkkijonojen tunnistamiseen tiedostoista). Jokerimerkkejä käytetään kuvaamaan ohjelmille annettavia parametreja (tiedosto/hakemistonimet). 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 28 Esimerkkejä teksti merkkijono teksti ^ teksti merkkijono teksti rivin alussa teksti$ merkkijono teksti rivin lopussa [Tt]eksti Tekstitai teksti t[aeiouyäö]ksti toinen kirjain vokaali t.ksti toinen kirjain mikä tahansa ^...$ kolmekirjaiminen rivi ^\. rivi alkaa pisteellä ^[^.] rivi ei ala pisteellä koe* koe, koee, koeee jne. [A-ZÅÄÖ][A-ZÅÄÖ]* Yksi tai useampi iso kirjain 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 29 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 30

egrep/awk/less -esimerkkejä [A-ZÅÄÖ]+ Ainakin yksi iso kirjain juh jeh joh Joko juh, jeh tai joh 80[234]?86 pentium 8086, 80286, 80386, 80486, pentium ju(ha)* ju, juha, juhaha, juhahaha,... Etsintä tiedostoista: grep Merkkijonon haku syötteestä: grep [optiot] lauseke [tiedostot] Hakee tiedostoista (tai stdin) rivit, joillaon säännöllistä lauseketta vastaava merkkijono Optioita: -c näytä vain osumarivien lukumäärä -i älä erottele isoja ja pieniä kirjaimia -l näytä pelkät tiedostonimet sellaisista tiedostoista, joissa on osumia -n näytä osumarivit rivinumeroineen -v näytä rivit, joilta ei löydy osumia 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 31 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 32 Esimerkkejä: grep egrep [optiot] lauseke [tiedostot] Kuten grep, mutta käyttää laajennettua säännöllisten lausekkeiden syntaksia (vertaa edellä) jaon useimmiten nopeampi kuin pelkkä grep Optiot: kuten grep:ssa, lisäksi: -e merkkijono Käytetään silloin, kun säännöllinen lauseke (merkkijono) alkaa "-"-merkillä fgrep [optiot] merkkijono [tiedostot] Kuten egrep, mutta ei käytä säännöllisiä lausekkeita. Merkkijonoa haetaan sellaisenaan ls -l grep '^d' Myös grep ^d Listaa vain hakemistot ls -l egrep 'Jan Feb' Listaa tammi- ja helmikuun tiedostot 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 33 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 34 Tiedoston lajittelu: sort Tiedostojen käsittelyä Lajittelu, vertailu, etsintä sort [optiot] [tiedostot] Järjestää yhden tai useamman tiedoston rivit Optioita: -f isoilla ja pienillä kirjaimilla ei eroa -m lomita lajitellut tiedostot yhdeksi -n lajittele numeerinen kenttä -r lajittele käänteisessä järjestyksessä 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 36

Tiedostojen vertailu: comm, diff, cmp -u identtiset rivit tuloksessa vain kerran -tc kenttien erotinmerkki on c +n [-m] Ohita n ensimmäistä kenttää ennen järjestämistä ja järjestä korkeintaan kenttään m asti. Jos m puuttuu, järjestä rivin loppuun asti. n ja m voivat olla muotoa a.b,missä a on käytettävä kenttä ja b on merkki ko. kentässä. jos b puuttuu, järjestetään 1.merkin mukaan 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 37 comm tiedosto1 tiedosto2 Vertaa kahta järjestettyä tiedostoa: 1. sarake: vain tiedosto1:n rivit 2. sarake: vain tiedosto2:n rivit 3. sarake: molemmissa olevat rivit diff [optiot] tiedosto1 tiedosto2 Listaa kahden tiedoston väliset erot. Lisätietojaman diff cmp tiedosto1 tiedosto2 Näyttää missä tiedosto1:n sisältö eroaa tiedosto2:n sisällöstä (ensimmäisen kerran) 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 38 Tiedostojen etsintä: find find hakemistot ehdot Tehokas komento tiedostojen etsintää varten Käy läpi annetut hakemistopuut: Hakee annetut ehdot täyttävät tiedostot. Ainakin yksi hakemisto ja ehto annettava Find: Hakuehtoja -print Toteutuu aina. Tulostaa tiedostonimen -name 'tiedostonimi' Toteutuu, jos haettavan tiedoston nimi täyttää ehdon tiedostonimi; ehdossa voi olla jokerimerkkejä -type c Toteutuu, jos tiedosto on tyyppiä c (f= tavallinen tiedosto, d=hakemisto) -ls Toteutuu aina. Näyttää yksityiskohtaiset tiedot hakemistosta tyyliin "ls -l" 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 39 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 40 Find: Esimerkkejä -exec komento '{}' ';' Aina tosi, komento suoritetaan kaikille osuneille tiedostoille. Komentoa suoritettaessa'{}' korvataan osuneen tiedoston tiedostonimellä. Koko komento päätetään yhdistelmään ';' -ok komento '{}' \; Aina tosi, käyttäytyy kuten -exec, paitsi että komento varmistetaan käyttäjältä ennen sen suoritusta find ~ -print listaa kaikki tiedostot ja alihakemistot kotihakemistosta find ~ -type d -name '.*' -ls listaa kaikki hakemistot, jotka alkavat pisteellä kotihakemistosta ja kaikista alihakemistoista find. -name '*.bak' -ok rm '{}' \; kysyy kaikista.bak -päätteisistä tiedostoista saako ne poistaa Lisää optioita ja esimerkkejä: man find 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 41 13.9.2000 E. Hyvönen: Linux/Unix Osa 2 42