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äsk | Mida teeb |
|---|---|
pwd | näitab praegust kataloogi |
ls | loetleb seal olevad nimed |
cd kataloog | muudab töökohta |
mkdir kataloog | loob kataloogi |
cp allikas siht | kopeerib faili; siht võib üle kirjutatud saada |
man ls | avab 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
- Leia üks muster, millele vastab vähemalt kümme rida.
- Uuri
man grepabil valikut-i. Millal see tulemust muudaks? - Selgita, miks
grep ... | wc -ljawc -l generated-words.txtvastavad eri küsimustele. - 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.