Awkille annetaan ohjelma ja syöttötiedosto. Ohjelma on operaatio, joka kohdistetaan syöttötiedoston jokaiseen riviin. Tiedostosta voidaan esimerkiksi poimia tietyt sarakkeet ja laatia niiden avulla raportti.
Seuraava tulostaa tiedoston lista jokaisen rivin toisen kentän:
awk '{print $2}' lista
Awk-ohjelmassa voi olla 1) aloitusosa, joka suoritetaan kerran, 2) toimenpideosa, joka kohdistetaan jokaiseen syöttötiedoston riviin, ja 3) lopetusosa, joka suoritetaan lopuksi kerran.
Oletetaan, että tiedostossa table on seuraavaa
1, a, b, c x, 1, 2, 3 2, 2, a, a 3, 4, b, a 1, 2, 3, 4
Suoritetaan sitten komento
awk 'BEGIN {FS=","} {if (/1/) { print $2 $1 } } END{print NR} ' table
Tässä ilmoitetaan aluksi, että kenttien erotin (FS, field separator) on pilkku, sitten tulostetaan tiedoston niiltä riveiltä, joilla esiintyy ykkönen, ensin toinen ja sitten ensimmäinen kenttä, ja lopuksi tulostetaan rivien määrä (NR number of lines):
a 1 1 x 2 1 9
C:tä muistuttava tulkittava ohjelmointikieli.
Laajempi kuin sed tai awk, sisältää molempien ominaisuuksia. Sopii erityisesti yksinkertaisiin tehtäviin, joihin Unixin komentotiedostot eivät riitä, mutta joihin kunnollisen C-ohjelman kirjoittaminen veisi liikaa aikaa.
Tehdään tiedosto perlkoe
#!/usr/bin/perl printf ("%6d\n", 2**3)
Annetaan tälle suoritusoikeus:
chmod 755 perlkoe
Suoritetaan tiedosto
./perlkoe
ja se tulostaa ruudulle luvun 8.
Skalaarimuuttujan nimen edessä on $:
$a = 1 ; $b = $a + 2 ; $c = $a * $b ;
Suunnilleen samat kontrollirakenteet kuin C:ssä, mahdollisuus määritellä omia funktioita, laaja kirjasto varusfunktioita.
Muuttujien sidonta dynaamista; muuttujia ei määritellä, joten ei myöskään voida tarkistaa, käytetäänkö niitä oikein. Saattaa johtaa vaikeasti jäljitettäviin virheisiin.
Soveltuu pienehköihin tehtäviin, suuremmissa saattaa olla vaarallinen.
Lisäohjeita löytyy pythonin kotisivuilta:\nl http://www.python.org.
> python Python 2.5.1 (r251:54863, May 2 2007, 16:56:35) [GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> 1+2 3 >>> import math >>> math.sqrt(5) 2.2360679774997898 >>> quit() >
IP-numerossa merkitsevin kenttä on ensimmäisenä. Kutakin numeroa vastaa symbolinen nimi, jossa merkitsevin kenttä on viimeisenä.
Nimipalvelin (DNS) pitää yllä luetteloa lähiympäristön koneista ja niiden osoitteista. Jos tarvitaan tietoa kaukaisemmista koneista, nimipalvelin lähettää kyselyn eteenpäin.
Numeroiden ja nimien välisen yhteyden näkee komennolla host:
host unix.utu.fi unix.utu.fi has address 130.232.203.196 host phobos phobos.astro.utu.fi has address 130.232.73.18 host 130.232.73.18 130.232.73.18.in-arpa domain name pointer phobos.astro.utu.fi
Verkossa olevat tietokoneet voivat saada käynnistyessään oman IP-osoitteensa ja muut verkkoyhteyksiin tarvittavat tiedot DHCP-palvelimelta (Dynamic Host Configuration Protocol).
Vielä joitakin vuosia sitten käytettyjä tietoliikenneohjelmia olivat telnet (pääteyhteys) ja ftp (tiedostojen siirtoon). Näissä liikennettä ei salakirjoiteta, joten mikä tahansa verkossa oleva kone saattaa seurata sitä. Näiden käyttö on nykyisin yleensä estetty.
Suojatussa yhteydessä tieto salakirjoitetaan. Pääteyhteyteen on ohjelma ssh (secure shell) ja tiedostojen siirtoon scp.
Sekä ssh että scp kysyvät etäkoneen salasanan. Jos yhteyttä käytetään usein, se voidaan myös määritellä niin, ettei salasanaa tarvitse antaa. Määrittely on tehtävä erikseen kaikille eri koneiden välisille yhteyksille.
ssh {\it etäkone}
esimerkiksi
ssh unix.utu.fi
Optiolla -l voidaan antaa käyttäjätunnus:
ssh -l hankar unix.utu.fi
Pääteyhteys lopetetaan komennolla exit (tai ctrl-D:llä).
Etäkoneen nimen perään kirjoitetaan kaksoispiste:
scp *.txt unix.utu.fi:
Tämä kopioi koneeseen unix.utu.fi kaikki nykyhakemiston tiedostot, joiden nimi päättyy merkkeihin .txt. Tämä muoto edellyttää, että käyttäjällä on sama käyttäjätunnus kummassakin koneessa. Kopiointi toiselle käyttäjätunnukselle käy seuraavasti:
scp *.txt hankar@unix.utu.fi:
Koneen nimen perässä voidaan antaa myös hakemisto, johon tiedosto(t) kopioidaan:
scp *.txt unix.utu.fi:tekstit/
Kopiointi etäkoneesta omalle koneelle käy samaan tapaan:
scp unix.utu.fi:*.txt . scp unix.utu.fi:tekstit/*.txt .
Anonyymi-ftp:llä siirretään julkisesti saatavilla olevia tiedostoja. Varsinaista salasanaa ei tarvita, joten tietoturvaongelmaa ei ole. Palvelin voi vaatia ilmoittamaan salasanaksi oman sähköpostiosoitteen.
Salasanan on oltava riittävän pitkä; sen olisi hyvä sisältää isoja ja pieniä kirjaimia, numeroita ja erikoismerkkejä sekaisin (ei mielellään skandeja, koska niiden konversiot voivat aiheuttaa ongelmia). Kirjoita salasanat paperille; siitä on tuskin koskaan haittaa toisin kuin liian helposta salasanasta.
Yliopiston sähköpostijärjestelmä suodattaa suurimman osan roskapostista pois. Jäljelle jäävistä osa on merkitty mahdollisesti roskaksi. Jos näissä on liitetiedostoja, niitä ei pidä avata, ellei ole ehdottoman varma, että viesti on tulkittu väärin roskaksi.
Epäilyttävät postit on tuhottava. Missään tapauksessa niihin ei saa vastata.
Tyypillisiä huijausyrityksiä ovat:
Jos hoidat pankkiasioita, teet tilauksia tms. yleisessä käytössä olevalla tietokoneella, verkkoselaimen välimuisti (cache) on tyhjennettävä, ettei joku sivullinen pääse tietoihin käsiksi.
ps (PostScript) Tekstiä, oikeastaan ohjelmointikieli, helppo siirtää. Sopii hyvin vektorigrafiikkaan, huonommin pikselikuviin. Kielen kehittyneiden rakenteiden avulla monimutkaisiakin kuvia voi toteuttaa hyvin lyhyesti. Esitystapa on riippumaton tulostuslaitteen resoluutiosta. Kuvan rasterointi on tulostimen tehtävä. Adoben lisenssi nostaa PS-tulostimien hintaa. Monet piirto-ohjelmat osaavat tallettaa kuvan PS-muodossa, mutta tekevät usein törkeän huonoa ja tilaa vievää koodia.
eps (Encapsulated PostScript) PostScript-kuva tietyillä rajoituksilla. EPS-kuva on tarkoitettu upotettavaksi toiseen kuvaan, joten siinä ei saa käyttää tiettyjä komentoja. Valitettavasti monet piirto-ohjelmat eivät noudata sääntöjä, jolloin kuvien käytön kanssa on ongelmia.
tif (Tagged Image format) Pikselikuva, ei pakattu, tiedostot isoja.
gif (CompuServe graphics interchange format) Pakattu kuva, ei hukkaa informaatiota.
jpg (Joint Photographic Experts Group file interchange format) Informaatiota hukkaava pakattu kuva. Tarkkuus kärsii hieman, mutta tilansäästö on huomattava.
mpg (Motion Picture Experts Group file interchange format) Liikkuvan kuvan pakkausmenetelmä. Tietyn pikselin väri ei yleensä muutu kahden kuvan välillä, joten koko kuvan sijasta talletetaan vain niissä tapahtuvat muutokset.
pdf (Portable Document Format) Lähinnä julkaisualan uusi standardi. Tiedosto ASCII-tekstiä, joten helposti siirrettävissä.
convert muuntaa useita kymmeniä eri kuvaformaattia toisikseen. Ohjelmalla runsaasti erilaisia valitsimia, ks. convert -help. Kuvan tyyppi tunnistetaan yleensä nimen perusteella.
dvipdf on ohjelma, joka muuntaa TeXin dvi-tiedostoja PDF-formaattiin.
xpdf on ohjelma, jolla voi katsella PDF-tiedostoja.
gv eli ghostview. Tällä ohjelmalla voi katsella PS- ja EPS-tiedostoja. Esimerkiksi TeXillä tai LaTeXilla tehdyt PS-tiedostot kannattaa tarkistaa gv:llä ennen kuin lähettää ne tulostimelle. Ohjelmalla voi myös zoomata kuvan yksityiskohtiin.
xv-ohjelmalla voi katsella useimpien eri formaattien kuvia. Ohjelma tuli aikaisemmin Linuxin mukana, mutta sittemmin se muuttui kaupalliseksi tuotteeksi, joten uudemmissa versioissa sitä ei enää ole.
eog on ohjelma, jolla uudemmissa Linuxeissa voi katsella eri formaattien kuvia. Ikävä kyllä ohjelma on paljon primitiivisempi kuin xv.
gimp on kuvankäsittelyohjelma.
Ohjelmasta on useita eri versioita, joiden käyttöliittymät
valitettavasti kovin erilaisia. Ohjelmalla voi tehdä
suunnilleen saman kuin Adoben Photoshopillakin.
Kotisivu
http://www.gimp.org/.
dcraw on ohjelma, joka osaa konvertoida useimpien
digitaalikameroiden raakakuvia johonkin yleiseen
formaattiin (kuten tif).
Kotisivu
http://cybercom.net/~dcoffin/dcraw/.
Pyraf Edellisen ympärille rakennettu käyttäjäystävällisempi Python-käyttöliittymä.
Midas ESOn Irafia vastaava ohjelmisto. Tämänkin alkuperäinen käyttöliittymä on neopaleoliittiselta kaudelta.
PyMidas Edellisen päälle kehitetty Python-käyttöliittymä, joka on täysin suomalaista tuotantoa.
Matlab Matrix laboratory, erityisesti matriisien käsittelyyn kehitetty ohjelmisto, tehokas, laaja, monipuolinen. Esimerkiksi yhtälöryhmän Ax=b ratkaisu:
A = [ 1 2 3 ; 2 1 1 ; 1 0 1 ] ; b = [ 1 2 2 ]' ; x = A\b x = ! 1.25 ! ! - 1.25 ! ! 0.75 !
Jos yhtälöitä on enemmän kuin tuntemattomia, saadaan automaattisesti pienimmän neliösumman sovitus.
Matlabin komennot voidaan kirjoittaa tiedostoiksi. Kieli on melko samantapaista kuin Fortran 90.
Matlab on kaupallinen ja melko kallis tuote. Vastaavanlaisia ilmaisia ohjelmistoja ovat esimerkiksi octave ja scilab.
IDL Erityisesti (tähti)tieteellisen datan käsittelyyn tarkoitettu ohjelma, jonka ohjelmointikieli on samantapaista kuin F90:n ja Matlabin kieli, ehkä hiukan kömpelömpää. Myös kaupallinen tuote, mutta saatavana on myös suppeampi vastaava GNU-ohjelma GDL.
Macsyma Symbolisen matematiikan ohjelmistojen lippulaiva. Saatavana nyt myös maxima-nimisenä ilmaisversiona. Tällä voit laskea vaikka funktion Taylorin sarjan termit, jotka ovat korkeintaan potenssia 10:
> maxima ... (%i1) taylor(sin(x),x,0,10); 3 5 7 9 x x x x (%o1)/T/ x - -- + --- - ---- + ------ + . . . 6 120 5040 362880 (%i2)
Maple Toinen varsin hyvä symbolisen matematiikan ohjelmisto. Kaupallinen tuote, mutta hieman rajoitettu opiskelijaversio saatavana kohtuulliseen hintaan.
Mathematica Stephen Wolframin kehittämä laskentaympäristö, johon kuuluu symbolista matematiikkaa ja grafiikkaa. Notaatio on turhan hankala.
Openoffice Microshi.. eikun ..softin Office-paketin vastine Linux-ympäristössä. Osaa käsitellä Wordin doc-tiedostoja, excel-taulukoita ja powerpoint-esityksiä. Eikä maksa mitään.