Käsurea kiirtee gümnasistile
See miniõpik on mõeldud gümnasistile, kes tahab kiiresti aru saada, miks käsurida kasulik on, kuidas selle abil päris tööd teha ja kuhu peamises õpikus edasi minna.
See ei püüa õpetada kõike. Eesmärk on anda lühike, aga sisuline stardirada.
Miks käsurida üldse õppida?
Käsurida on kasulik vähemalt neljal põhjusel.
- See aitab teha korduvaid asju kiiremini.
- Paljud serverid ja arendusmasinad töötavadki käsureal.
- Andmete, logide ja failihulkadega töötades on käsureal sageli lihtsam näha, mis päriselt toimub.
- Paljud hilisemad tööriistad, nagu
git,ssh,dockerjapython, tunnevad end käsureal koduselt.
Kui oskad käsureal rahulikult liikuda, on lihtsam mõista ka seda, mida IDE, GitHubi workflow või Raspberry Pi taustal teevad.
Käsu põhimudel ühe lausega
Enamasti on käsu kuju selline:
käsk valikud argumendid
Näiteks:
ls -la
grep -n 'kass' loomad.txt
cp vana.txt uus.txt
Siin:
ls,grep,cpon käsud-la,-non valikud ehk lipudloomad.txt,vana.txt,uus.txton argumendid — siin juhul failinimed, millele käsk rakendub
Seda mustrit näed käsureal uuesti ja uuesti.
Kõige tähtsamad põhikäsklused
Kui tahad kiiresti töövõimeliseks saada, siis alusta neist:
pwd— kus ma praegu olen?ls— mis siin kaustas on?cd— kuidas lähen teise kausta?mkdir— kuidas loon kausta?cp— kuidas teen koopia?mv— kuidas liigutan või nimetan ümber?less— kuidas loen pikemat faili?grep— kuidas otsin tekstist mustrit?history— mida ma enne kirjutasin?manvõi--help— kust saan abi?
Kui need on käpas, oled juba palju tugevamas kohas kui inimene, kes teab käsureast ainult paari juhuslikku käsku.
Väike praktiline töövoog
Tee endale harjutuskaust:
mkdir -p ~/tmp/gumnaasiumi-proov
cd ~/tmp/gumnaasiumi-proov
pwd
Siin on oluline just -p:
- see lubab teha kogu tee ühe käsuga
- kui
~/tmppuudub, tehakse ka see - kui
~/tmpon juba olemas, tehakse ainultgumnaasiumi-proov
Nüüd lae üks fail alla:
curl -L -O https://artifical.eu/linux/data/generated-words.txt
ls -lh
Mis juhtus:
curl -L -Otõi faili veebistls -lhnäitas, et fail on päriselt kohal ja kui suur see on
Nüüd küsi faililt paar lihtsat asja:
wc -l generated-words.txt
grep -n 'koer' generated-words.txt
less generated-words.txt
Mida sa siit õpid:
wc -lloendab ridugrep -notsib ja näitab reanumbreidlesslaseb pikka faili lehitsema minna
See on juba päris andme- ja tekstivoo algus.
Hea tööharjumus: abi loe enne veebist otsimist
Kui käsk on käes, aga täpne kuju ei meenu, tee enamasti üks neist:
man ls
grep --help
whatis grep
Need annavad eri sügavusega abi:
manon pikem manuaal--helpon kiirem meeldetuletuswhatisütleb ühe lausega, millega tegu
See on kiirem ja usaldusväärsem kui juhuslik blogipostitus või foorumivastus.
Mälumängust oskuseni
Gümnasistile on oluline üks vahe:
- käske ei pea pähe tuupima nagu sõnavara
- tähtsam on aru saada, mida need teevad, mis sisendi nad võtavad ja mida nad vastu annavad
Näiteks:
cpvõtab allika ja sihi ning teeb koopiagrepvõtab mustri ja faili ning tagastab sobivad readlessavab faili vaatamiseks, mitte muutmiseks
Kui tead seda loogikat, on lihtsam ka uusi käske õppida.
Esimene päris järgmine samm: kaugühendus
Käsurea tõeline jõud tuleb eriti hästi välja siis, kui masin ei olegi sinu laua peal.
Näiteks:
ssh kasutaja@server
See tähendab:
- loo krüpteeritud ühendus teise masinaga
- saa seal terminali prompt
- tööta edasi justkui oleksid kaugmasina ees
Sellest hetkest alates muutub käsurida eriti kasulikuks serverite, arvutiklassi masinate, Linuxi virtuaalmasinate ja Raspberry Pi puhul.
Kuhu edasi peamise õpikuga?
Kui see miniõpik tundus paras, siis mine peamise õpiku juurde selle rajaga:
- Terminali esimesed sammud
- Kataloogid ja failid
- Teksti vaatamine ja liikumine
- Käskude kuju ja argumentide loogika
- Sisend, väljund, torud ja suunamine
- Failide kopeerimine ja sünkroonimine
- Kauglogimine ja SSH
- Teksti otsimine: grep ja sugulased
- Git, GitHub ja töövoog
Kõige lühem sild on peamise õpiku avalehel olev rada:
Viimane mõte
Kui koolis või hobiprojektis tekib tunne, et “graafilise liidesega saab ju ka”, siis see on täiesti tõsi. Aga käsurida on koht, kus hakkad nägema:
- millised failid päriselt olemas on
- mis nimega programm päriselt käib
- mis käsu tulemus läheb järgmise tööriista sisendiks
- kuidas automaatika, server ja arendus tegelikult kokku seotakse
Just sellepärast tasub siit edasi minna peamise õpiku juurde.