Beetaversioon: sisu on enamasti terviklik ja avalikuks katsetamiseks valmis, kuid vajab veel tehnilist, keelelist ja kasutatavuse kontrolli.

Miniõpik

Linux/Unix/macOS käsurea kiirõpik

Praegu loed lühiraamatut Käsurea kiirtee gümnaasiumile, mis on mõeldud sihtrühmale gümnasistile.

Käsurea kiirtee gümnasistile

Käsurida aitab töövõtte kirja panna ja hiljem korrata. Proovime seda väikese tekstiuuringuga: lae alla sõnaloend, leia vasteid ja loenda neid.

Käsk, valik ja argument

Käsu ls -l /etc osad on ls ehk loetlemine, -l ehk detailne vaade ja /etc ehk vaadatav kataloog. Valikud muudavad toimingut, argumendid annavad näiteks failinimed või otsitava teksti. Need pole juhuslikud lisamärgid.

PõhikäskMida teeb
pwdnäitab praegust kataloogi
lsloetleb seal olevad nimed
cd kataloogmuudab töökohta
mkdir kataloogloob kataloogi
cp allikas sihtkopeerib faili; siht võib üle kirjutatud saada
man lsavab ls käsiraamatu; välju q-ga

Terminal kuvab shelli viiba (*prompt*), näiteks kasutaja@arvuti:~$. Seda käsu ette ei kopeerita. Kui sul pole oma terminali, kasuta terminal.cs.ut.ee harjutusi.

1. Valmista ette töökoht

~ tähistab kodukataloogi. mkdir -p loob terve puuduva tee: vajadusel tehakse nii tmp kui ka selle alamkataloog.


mkdir -p ~/tmp/gumnaasiumi-proov
cd ~/tmp/gumnaasiumi-proov
pwd

Kontrolli tee lõppu. Siia salvestame katseandmed, mitte sinu isiklikud dokumendid.

2. Lae alla ja vaata

curl toob veebist sisu. -f käsitleb HTTP veavastust veana, -L järgib ümbersuunamisi ja -O kasutab failinimena URL-i viimast teeosa. Sama nimega kohalik fail võib üle kirjutatud saada.


curl -fL -O https://artifical.eu/linux/data/generated-words.txt

See samm vajab internetti. Ära käivita allalaaditud sisu programmina. Vaata faili less abil:


less generated-words.txt

Tühik viib lehekülje edasi, /koer ja Enter otsib teksti, n liigub järgmise vaste juurde. Välju q-ga. Sõnaloend on sünteetiline harjutusandmestik, mitte eesti õigekeelsussõnaraamat.

3. Küsi faililt kaks küsimust

wc -l loendab reavahetusi. grep valib mustrile vastavad read; -n lisab neile reanumbrid.


wc -l generated-words.txt
grep -n 'koer' generated-words.txt

Esimene annab arvu, teine vastavad read. grep 'koer' leiab ka pikema sõna, mille sees on koer. Kui vasteid pole, jääb väljund tühjaks.

4. Ühenda otsing ja loendus

Toru | annab vasaku käsu standardväljundi parema käsu sisendiks. Siin loeb wc ainult leitud ridu:


grep 'koer' generated-words.txt | wc -l

See on vastavate ridade, mitte tingimata kõigi sõnaesinemiste arv. Ühel real võib sobiv tekst esineda rohkem kui üks kord.

Proovi ka teksti kass. Ennusta, kummal on rohkem vasteid, ja kontrolli. Nii on käskudel konkreetne ülesanne, mitte päheõpitav järjekord.

Kui tulemus üllatab

Kontrolli asukohta, failinime ja veateadet. Pikalt töötava käsu saad tavaliselt peatada Ctrl-c-ga. man grep selgitab otsingut; paljud programmid pakuvad ka --help-i, kuid -h pole universaalne abivalik.

Iseseisev ülesanne

  1. Leia üks muster, millele vastab vähemalt kümme rida.
  2. Uuri man grep abil valikut -i. Millal see tulemust muudaks?
  3. Selgita, miks grep ... | wc -l ja wc -l generated-words.txt vastavad eri küsimustele.
  4. Milliseid samme peaks kordama teise sõnaloendiga, et tulemusi võrrelda?

Edasi põhiõpikusse

Kui liikumine või failid jäid ebaselgeks, alusta terminali põhioskustest. Kui katse õnnestus, jätka torude ja suunamisega, seejärel süsteemide ülevaatega.

Otsingu süvendamiseks on grep, rühmitamiseks sort ja uniq, meeskonnatööks Git ning kaugmasina kasutamiseks SSH. Kõik rajad algavad põhiõpiku avalehelt.