Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
Johdatus Linuxiin/UNIXiin: Osa 3
Reijo Siven
Tietojenk sittelytieteen laitos
Helsingin yliopisto
R. Siven: Linux/UNIX Osa 3 2
Sis llys
Tekstin ladonta (kertausta) ym.
Prosessien hallinta
Sy tt ja tulostus
S nn lliset lausekkeet
Tiedostojen k sittely
Hakemistojen ja tiedostojen arkistointi ja pakkaus
Tekstin ladonta (kertausta) ym.
R. Siven: Linux/UNIX Osa 3 4
Latex-ladontaohjelma
– latex tiedosto.texLadontaohjelma, jossa tiedostossa on sek tulostettava tekstiett komentoja (vrt. HTML).
Matemaattisten alojen (esim. tkt) standardi.
Tuottaa v litulostiedoston tiedosto.dvi, joka voidaan muuntaamm. PostScript-muotoon.
Lis tietoja kirjoista:
• Lamport, Latex: A Document Preparation System
• Goossens et al: The Latex Companion
– dvips tiedosto.dviTekee PostScript-tiedoston Latex-tulostiedostosta tiedosto.dvi
R. Siven: Linux/UNIX Osa 3 5
– Esimerkki:emacs artikkeli.tex Kirjoitetaan artikkeli….latex artikkeli.tex Teh n v litiedostodvips artikkeli.dvi PostScript muunnoslpr -Pps2 artikkeli.ps Tulostetaan PostScript
ghostview artikkeli.ps Tulostetaan n yt lle
R. Siven: Linux/UNIX Osa 3 6
xv ja mpage
– xvOhjelma, jonka Grab-toiminnolla voidaan kaapatan yt lt kuva koko n yt st , n yt alueesta taiyksitt isest ikkunasta.
– mpage [optiot][tiedostot]Monipuolinen PostScript-muotoilija, joka osaa mm.pist monta sivua yhdelle paperiarkille. Komentoavoi k ytt esim. tavallisen tekstin muuttamiseenPostScript-kielelle. Lis tietoja: man mpage.
2
Prosessien hallinta
R. Siven: Linux/UNIX Osa 3 8
Prosessin tilat
Prosessi = itsen inen tapahtuma, joka onsuorituksessa (yleens komento)
Prosessi voi olla jossain seuraavista tiloista:– Suorituksessa etualalla (foreground process)
– Suorituksessa taka-alalla (background process)
– Pys tettyn (suspend)Taustaprosessi pys ytet n, jos se yritt kirjoittaan yt lle
R. Siven: Linux/UNIX Osa 3 9
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 ollauseita.
R. Siven: Linux/UNIX Osa 3 10
Prosessien monitorointi
– ps [optiot]N ytt suorituksessa olevat prosessit
– -a N yt kaikki prosessit (oletus: omat)
– -l N yt nemm n tietoja
– jobsN ytt samasta tulkista k ynnistetyt prosessit
– topMonitoroi ja n ytt prosessien kuormitustilanteen
– Lopetus q -komennolla
R. Siven: Linux/UNIX Osa 3 11
Prosessien hallintakomentojaProsessin vienti tausta-ajoon– &
Vie aloitettavan komennon taustalle
Esim. cc ohjelma.c &
– C-zPys ytt etualalla olevan prosessin
R. Siven: Linux/UNIX Osa 3 12
Prosessin tuonti etu-alalle– fg [%tunnus]
Tuo pys ytetyn tai taustalla olevan prosessinetualalle
– bg [%tunnus]Siirt pys ytetyn prosessin taustalle
– Tunnuksen (PID) saa selville komennolla jobstai ps.
3
R. Siven: Linux/UNIX Osa 3 13
kill [-n] tunnusL hett lopetusk skyn prosessille, jonka tunnus on"tunnus”
Optio -n: M r mik lopetusk sky l hetet nprosessille. -9 on vahvin
R. Siven: Linux/UNIX Osa 3 14
– Esimerkkej ($ on kursorimerkki)$ cc logfilt2.c &
[1] 7063
$ jobs
[1] + background cc logfilt2.c
$ kill -9 %1
[1] Killed cc logfilt2.c
R. Siven: Linux/UNIX Osa 3 15
$ cc jokumuu.c &
[1] 7088
$ ps
.... 7088 cc jokumuu.c
$ kill -9 7088
[1] Killed cc jokumuu.c
R. Siven: Linux/UNIX Osa 3 16
Sy tt ja tulostus: stdin, stdout, stderr
Prosessin kolme s tt - ja tulostuskanavaa:– stdin on sy tt kanava, jonka kautta prosessi
saa tietoa ulkoa (yleens n pp imist lt )
– stdout on tulostuskanava, jonka kautta prosessiantaa tietoja toiminnastaan (yleens n ytt )
– stderr on virheilmoituskanava, jonka kauttaprosessi voi esim. tiedottaa poikkeustilanteista(eli tulostaa jotain, mutta mahdollisesti erikanavaa pitkin kuin stdout)
R. Siven: Linux/UNIX Osa 3 17
Sy tt ja tulostus: Oletuksia
Oletusarvoisesti:– stdin on yhdistetty n pp imist
– stdout ja stderr on yhdistetty n ytt
Sek sy tt ett tulostus voidaanuudelleenohjata (redirect)– Voidaan lukea muuta kuin n pp imist ja
kirjoittaa muulle kuin n yt lle
R. Siven: Linux/UNIX Osa 3 18
S tt ja tulostus: Uudelleenohjaus
Komennon uudelleenohjausparametrit:– komento >tiedosto
stdout ohjataan tiedostoon “tiedosto”
Esim. ps -l > prosessilistaus.txt
– komento >>tiedostostdout lis t n tiedoston “tiedosto” per n(tuhoamatta alkua)
– komento <tiedostostdin luetaan tiedostosta “tiedosto”
4
R. Siven: Linux/UNIX Osa 3 19
Esimerkkej
ls -l >tiedosto.txt– Kokonaan uusi tiedosto
ls -l >>tiedosto.txt– Listaus tiedoston loppuun
more < tiedosto.txt– Tiedoston n ytt sivu sivulta
R. Siven: Linux/UNIX Osa 3 20
S te ja tulostus yhdistettyn– Esim. sort <lista.txt >aakkostettu_lista.txt
S tteen loppumerkki on C-d– p tt my s n pp imist lt nnetun s tteen
– Esim. cat > tiedosto
– Tiedostosta luettaessa sy tetiedostoa ei tarvitselopettaa C-d-merkill
R. Siven: Linux/UNIX Osa 3 21
Komennon saama s te on eri asia kuinkomennon parametrit.– Parametrit annetaan komentorivill
– Komento saa s tteens suoritusaikana
R. Siven: Linux/UNIX Osa 3 22
Putket (pipe)
Komentojen s tt ja tulostusta voidaanputkittaa:– Yhden prosessin tulostus on toisen sy te
Komennon komento1 tulostus ohjataankomennon komento2 s tteeksiputkimerkill |:– komento1 | komento2
R. Siven: Linux/UNIX Osa 3 23
Esimerkkejls -l | wc
– Tulosta merkit, sanat ja rivit tiedostolistauksesta
ls -l | wc >tiedostolkm.txt– Kuten yll , mutta tulos tiedostoon
cat ~/src/*.c | wc– Kaikkien C-l hdekielisten ohjelmien merkkien, sanojen ja
rivien yhteislukum r
R. Siven: Linux/UNIX Osa 3 24
Putkia voi olla useita per kk in
Putken alussa ja lopussa voi ollauudelleenohjausta
who | sort | cat -b >kayttajat.txt– numeroitu k ytt j listaus
5
R. Siven: Linux/UNIX Osa 3 25
Putki yhdistettyn UNIXin filosofiaan tehdpieni komentoja tarjoaa keinot kootamonimutkaisia komentoja pienist paloista
Putkifilosofian johdosta l hes jokainenkomento osaa k ytt s tt - jatulostuskanavia
S n lliset lausekkeet
R. Siven: Linux/UNIX Osa 3 27
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 myhten inen esitystapa
mm. (e)grep, less, more, awk, emacs
R. Siven: Linux/UNIX Osa 3 28
S nn llinen lauseke
S nn llinen lauseke on hahmo (pattern),jolla voi etsi siihen sopivat merkkijonot.
Monipuolisempi mekanismi kuinjokerimerkit
S nn llinen lauseke sis lt :– Tavallisia merkkej : kuvaavat itsens
– Erikoismerkkej : kuvaavat rakenteita
R. Siven: Linux/UNIX Osa 3 29
Erikoismerkkej
. Mik tahansa merkki (paitsi rivinvaihto)
* 0-n kpl edellist merkki
\ Poista erityismerkitys
[...] Mik tahansa [...]:n sis ll oleva merkki
- V li, esimerkiksi 0-9, a-c.
^ Rivin alku
[^…]Hyv ksyt n merkit, jotka eiv t ole []:n v liss
$ Rivin loppu
R. Siven: Linux/UNIX Osa 3 30
– Er t komennot (awk, egrep, less,...)ymm rt v t m s seuraavat erikoismerkit:
+ 1-n kpl edellist merkki
? 0-1 kpl edellist merkki
| Vaihtoehdot
() Ryhmittelysulut
– S lliset lausekkeet jokerimerkit:S nn llisi lausekkeita k ytet n ohjelmien sis ll .
Jokerimerkkej k ytet n kuvaamaan ohjelmilleannettavia parametreja.
6
R. Siven: Linux/UNIX Osa 3 31
Esimerkkej
– teksti merkkijono teksti
– ^teksti merkkijono teksti rivin alussa
– teksti$ merkkijono teksti rivin lopussa
– [Tt]eksti Teksti tai teksti
– t[aeiouy ]ksti toinen kirjain vokaali
– t.eksti toinen kirjain mik tahansa
R. Siven: Linux/UNIX Osa 3 32
– ^...$ kolmemerkkinen rivi
– ^\. rivi alkaa pisteell
– ^[^.] rivi ei ala pisteell
– koe* koe, koee, koeee jne.
– [A-Z ][A-Z ]*Yksi tai useampi iso kirjain
R. Siven: Linux/UNIX Osa 3 33
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,...
R. Siven: Linux/UNIX Osa 3 34
Etsint tiedostoista: grepMerkkijonon haku sy tteest :– grep [optiot] merkkijono [tiedostot]
Hakee tiedostoista (tai stdin) rivit, joilla on s llistlauseketta vastaava merkkijono
Optioita:– -c n yt vain osumarivien lukum r
– -i l rottele 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
R. Siven: Linux/UNIX Osa 3 35
– egrep [optiot] merkkijono [tiedostot]Kuten grep, mutta k ytt laajennettua s llistenlausekkeiden syntaksia (vertaa edell ) ja on useimmitennopeampi kuin pelkk grep
Optiot: kuten grep:ssa, lis ksi:– -e merkkijono K ytet n silloin, kun s llinen lauseke
(merkkijono) alkaa "-"-merkill
R. Siven: Linux/UNIX Osa 3 36
Esimerkkej : grep
ls -l | grep '^d'– vain hakemistot
ls -l | egrep 'Jan|Feb'– tammi- ja helmikuun tiedostot
7
Tiedostojen k sittely
Vertailu, etsint
R. Siven: Linux/UNIX Osa 3 38
Tiedostojen vertailu: diff
– diff [optiot] tiedosto1 tiedosto2Listaa kahden tiedoston v liset erot.
Lis tietoja man diff.
R. Siven: Linux/UNIX Osa 3 39
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
R. Siven: Linux/UNIX Osa 3 40
Find: Hakuehtoja
-name 'tiedostonimi'– Toteutuu, jos haettavan tiedoston nimi t ytt hdon
tiedostonimi; ehdossa voi olla jokerimerkkej
-type c– Toteutuu, jos tiedosto on tyyppi c (f=tavallinen tiedosto,
d=hakemisto)
find ~ -type d -name '.*' -ls listaa kaikkihakemistot, jotka alkavat pisteellkotihakemistosta ja kaikista alihakemistoistaLis optioita ja esimerkkej : man find.
Hakemistojen ja tiedostojenarkistointi ja pakkaus
R. Siven: Linux/UNIX Osa 3 42
Arkistointi ja pakkaus
Arkistointia tarvitaan– Hakemisto/tiedosto-kokonaisuuden
tallettamiseksi k tev sti yhten tiedostona
Tiedostojen pakkausta tarvitaan– Levytilan s st miseksi
– Tiedonsiirron nopeuttamiseksi
Esimerkki– Verkon v lityksell toimitettava ohjelmisto
arkistoidaan tiedostoksi, joka pakataan.
8
R. Siven: Linux/UNIX Osa 3 43
Arkistointi: tar
tar [optiot][tiedostot]Arkistoi tiedostoja levylle tai kopioi tiedostojaarkistosta takaisin. Jos tiedostojen joukossa onhakemistoja, koko hakemistosta alkava alipuukopioidaan.
Tominto-optiot (vain yksi/komento):– c tehd n uusi arkistotiedosto (compress)
– r liitet n tiedostot vanhaan arkistoon
– t tulostetaan arkistossa olevat tiedostonimet
– u lis t n tiedosto arkistoon, jos se ei ole viel siell
– x kopioidaan (avataan) tiedostot arkistosta (extract)
R. Siven: Linux/UNIX Osa 3 44
Lis optiot:– f arkisto talleta arkisto tiedostoon arkisto
– v n yt rkistoitavat tai palautettavattiedostonimet (verify)
R. Siven: Linux/UNIX Osa 3 45
Esimerkki– tar cvf koe.tar joku
• Hakemisto joku ja sen alihakemistot kopioidaanarkistotiedostoon (c=compress, v=verify, f=file)
– tar tvf koe.tar
• Tarkastetaan mit tiedostoja tuli arkistoon (t=tulosta)
– tar xvf koe.tar
• Puretaan arkisto. Alkuper inen arkistotiedosto jj ljelle (x=extract)
R. Siven: Linux/UNIX Osa 3 46
Tiedostojen pakkaus(kompressointi)
– compress [optiot][tiedostot]Pakkaa tiedostot pienemp n tilaan.
– Pakattu tiedosto saa .Z -p tteen. Avaus komennollauncompress.
– uncompress [optiot][tiedostot]Palauttaa compress-pakatut tiedostot.
R. Siven: Linux/UNIX Osa 3 47
Pakkaus “zippaamalla”
– gzip [optiot][tiedostot]Kuten compress, mutta pakkaa paremmin.Tuloksilla on .gz -p te
– gunzip [optiot][tiedostot]Kuten uncompress, mutta my s .gz -p tteisilletiedostoille.
R. Siven: Linux/UNIX Osa 3 48
Kalvot perustuvat:
– Juha Taina: Unix-perusteita -kalvomateriaali,1998.
– Fred Hantelmann: Linux Start up Guide,Springer, 1999.
– Eero Hyv nen: Muuntokoulutuksen peruskurssi-kalvomateriaali, 1999.