Muistilista

Tässä luvussa on koottuna keskeiset moduulissa vastaan tulleet komennot ja käsitteet, joista on hyötyä etenkin tekstimuotoisen datan käsittelyssä.

Putket ja uudelleenohjailu

Komennot yleensä lukevat syötteen näppäimistöltä ja tulostavat ruudulle, mutta merkeillä <, > ja | syötettä ja tulostetta voi ohjata muualle:

  • komento < tiedosto.txt = komennon syöte tulee tiedostosta

  • komento > tiedosto.txt = komennon tuloste ohjataan tiedostoon

  • komento1 | komento2 = komennon tuloste ohjataan toisen komennon syötteeksi

Putkia ja uudelleenohjauksia voi yhdistellä hyvin vapaasti tähän tapaan:

  • komento1 < tiedosto1.txt | komento2 | komento3 | komento4 > tiedosto4.txt

Monille komennoille voi myös antaa komentorivillä tiedoston nimen, josta syöte luetaan. Esimerkiksi nämä kaikki tekevät oleellisesti saman asian:

  • grep sana tiedosto.txt

  • grep sana < tiedosto.txt

  • cat tiedosto.txt | grep sana

Tekstitiedostojen tutkimista ja muokkaamista

  • cat = tulosta tiedoston sisältö

  • cat -n = lisäksi numeroi rivit

  • head -n 1000 = tulosta ensimmäiset 1000 riviä

  • tail -n 1000 = tulosta viimeiset 1000 riviä

  • cut -c10-20 = tulosta joka riviltä pelkästään sarakkeissa 10–20 olevat merkit

  • less = selaile tiedostoa (space = alas, b = ylös, q = pois)

  • od -t u1 = tulosta tiedoston sisältämät tavut

  • wc -l = laske rivien määrä

  • nano = editoi tiedostoa

  • echo = tuota rivin verran tekstiä (kätevä esim. echo hei > tiedosto.txt tai echo hei | komento)

Etsimistä ja korvaamista

  • grep hahmo = etsi säännöllistä lauseketta, tulosta kaikki rivit, joilla on osumia

  • grep --color = väritä osumat

  • grep -v = tulosta rivit, joilla ei ole osumia

  • grep -o = tulosta vain osumakohdat, kukin omalla rivillään

  • grep -i = älä välitä isojen ja pienten kirjainten erosta

  • sed 's#hahmo#korvaus#' = etsi ja korvaa joka rivin ensimmäinen esiintymä

  • sed 's#hahmo#korvaus#g' = etsi ja korvaa kaikki esiintymät

  • sed 's#hahmo#korvaus#I' = älä välitä isojen ja pienten kirjainten erosta

  • awk '{ print tolower($0) }' = muunna pieniksi kirjaimiksi

Säännöllisissä lausekkeissa voi käyttää mm. näitä:

  • ^ = rivin alku

  • $ = rivin loppu

  • \< = sanan alki

  • \> = sanan loppu

  • . = mikä tahansa merkki

  • [abc] = jokin merkeistä "a", "b" ja "c"

  • [a-z] = jokin merkeistä "a", "b", …, "z"

  • [^abc] = mikä tahansa merkki paitsi "a", "b" ja "c"

  • [[:alpha:]] = mikä tahansa kirjain

  • x* = mikä tahansa määrä merkkejä x

  • .* = mikä tahansa määrä mitä tahansa merkkejä

Pientä huolellisuutta vaaditaan; eri työkalut tukevat hiukan eri murteita säännöllisistä lausekkeista. Esimerkiksi joissain työkaluissa toimii x+ tarkoittamassa yhtä tai useampaa merkkiä x, kun taas joissain työkaluissa tämä tarkoittaa vain merkkijonoa "x+" (kirjain x ja plus-merkki).

Sorttailua ja laskemista

  • sort = järjestä rivit aakkosjärjestykseen

  • sort -n = järjestä rivit niiden alussa olevien numeroiden perusteella

  • sort -r = käänteinen järjestys

  • uniq = jos monta peräkkäistä samaa riviä, säilytä niistä vain ensimmäinen

  • uniq -c = lisäksi laske kuinka monta kertaa sama rivi toistui

Hakemistojen käsittelyä

  • cd = siirry hakemistoon

  • mkdir = luo hakemisto

  • ls -l = yksityiskohtainen hakemistolistaus

  • df -h . = vapaan levytilan määrä

Muuta hyödyllistä

  • chmod +x = tee skriptistä ajokelpoinen

  • wget = hae tiedosto webistä

  • bunzip2 = pura bzip2-muodossa oleva pakattu tiedosto

  • gunzip = pura gzip-muodossa oleva pakattu tiedosto

  • locale = näytä maa-asetukset (tärkein: LC_CTYPE)

  • export MUUTTUJA=arvo = aseta ympäristömuuttujia

  • ~/.profile = tiedosto, jossa ympäristömuuttujat yleensä asetetaan

  • time komento = mittaa ajoaika

  • screen = luo uusi screen-istunto

  • screen -r = palaa takaisin aiemmin luotuun screen-istuntoon

  • top = prosessilista (poistu komennolla q)

Palautusta lähetetään...