Õpitee ja õppetunnid
See peatükk aitab otsustada, millal mida vaadata. Ülejäänud raamat on kirjutatud nii, et seda saaks kasutada ka käsiraamatuna, kuid alguses on lihtsam liikuda kindla õpitee järgi.
Kui tahad liikuda võimalikult rahulikult lihtsamast keerulisemani, alusta peatükist Terminali esimesed sammud. Peatükk Esimene tervikharjutus: 30 minutit on mõeldud hiljem, kui baas on juba all.
Kuidas seda peatükki kasutada
Kui oled täiesti alguses, ära loe raamatut järjest algusest lõpuni nagu romaani. Vaata seda pigem osade kaupa:
- kõigepealt õpi, kuidas käsurida lugeda ja kasutada
- siis ehita juurde süsteemipilt: failisüsteem, õigused, kettaruum, paketid
- seejärel mine failide, võrgu ja süsteemitöö juurde
- alles pärast seda võta suuremad töövood nagu Git, Docker ja arenduskeskkonnad
See järjekord on oluline, sest hilisemad teemad ehituvad varasematele.
Näiteks:
sshkasutab sama käsurea loogikat, mida õpid varemgitkäsud kasutavad samu valikute ja argumentide mustreidrsync,grep,findja torud muutuvad arusaadavaks alles siis, kui failide ja voogude põhimõte on selge- veaotsing muutub palju lihtsamaks, kui tead juba, kus failid süsteemis elavad
Õpitee 1: täiesti algaja
Vaata peatükke selles järjekorras:
- Kuidas seda õpikut kasutada
- Terminali esimesed sammud
- Abi leidmine: man, --help ja info
- Kataloogid ja failid
- Teksti vaatamine ja liikumine
- Failide vaatamine ja muutmine: cat, less, nano, vim
- Käskude kuju ja argumentide loogika
- Sisend, väljund, torud ja suunamine
- Esimene tervikharjutus: 30 minutit
- Linux, Unix, GNU, macOS, Windows ja shellid
See on hea algus, sest selle järel oskad juba:
- terminalis liikuda
- faile leida, vaadata ja muuta
- abi otsida
- aru saada, miks käsud käituvad nii nagu nad käituvad
- ning alles siis paigutada need oskused Linuxi, macOS-i ja Windowsi laiemasse konteksti
Õpitee 2: süsteemi pildi loomine
Kui baas on all, liigu edasi siia:
- Failisüsteemi kaart
- Kettaruum ja süsteemi maht
- Õigused, omanikud ja täitmisbitid
- Kasutajad, grupid ja sudo
- Muutujad, keskkond, PATH ja aliased
- Paketihaldus: apt, dnf, pacman, brew
- Lihtne veaotsing käsureal
- Võrgu põhitööriistad
See plokk on tähtis, sest siin tekib tunne, et süsteem ei ole enam “must kast”.
Õpitee 3: igapäevane Linuxi ja serveri kasutaja
Kui tahad teha päris töid masinate, failide ja kaugühendustega, siis vaata eriti neid peatükke:
- Failide kopeerimine ja sünkroonimine
- Kauglogimine ja SSH
- Veebist sisu toomine ja tekstivaade: curl, wget, lynx
- Arhiivid ja pakkimine
- Tervete kataloogipuude haldus ja jagamine
- Protsessid, tööd ja signaalid
- Logid ja teenused
- Püsivad terminalisessioonid: tmux ja screen
See plokk on seotud praktilise süsteemikasutusega:
- failid liiguvad masinate vahel
- protsessid võivad kinni jääda või kaua joosta
- logidest tuleb probleeme otsida
- katkestuste vastu on vaja püsivaid sessioone
Õpitee 4: tekst, filtrid ja automatiseerimine
Kui tahad saada tugevaks Unix-laadsete tekstivoo tööriistade kasutajaks, siis liigu nii:
- Teksti otsimine: grep ja sugulased
- Teksti teisendamine: tr, cut, paste, column, strings
- Vood ja tabelid: sort, uniq, wc, pr, join
- sed, awk ja perl praktiliselt
- `find` ja `xargs` ohutumalt
- Esimene shelliskript
- `cron` ja ajastatud tööd
See on üks raamatu tähtsamaid õpiteid, sest just siin tekib “väikeste tööriistade ühendamise” tunnetus.
Õpitee 5: arendaja suund
Kui eesmärk on tarkvara arendamine, siis pärast baasi vaata eriti neid peatükke:
- Git, GitHub ja töövoog
- Pythoni venv ja eraldatud keskkonnad
- Dockeri alused
- IDE-d ja arenduskeskkonnad
- Andmeteaduse eelteadmised käsurea vaates
- CSV, JSON ja XML käsureal
- Andmebaasi algus: sqlite ja Python
- Kompileerimine ja käivitamine: shell, Python, C, C++, Go, Rust, Java
- LaTeX käsurealt
See järjekord on mõistlik, sest:
- Git tuleb peaaegu igas projektis enne
venvaitab projektisõltuvused korras hoida- Docker ja IDE on mugavus- ning töövooteemad
- andmeteaduse eelteadmiste osa aitab siduda käsurea, failivormingud ja SQL-i
- SQLite, kompileerimine ja LaTeX on head näited eri tööriistamaailmadest
Õpitee 6: andmeteaduse stardirada
Kui eesmärk on andmeteaduse või andmeanalüüsi suund, siis pärast käsurea baasi vaata eriti neid peatükke:
- Sisend, väljund, torud ja suunamine
- Teksti otsimine: grep ja sugulased
- Teksti teisendamine: tr, cut, paste, column, strings
- Vood ja tabelid: sort, uniq, wc, pr, join
- Andmeteaduse eelteadmised käsurea vaates
- CSV, JSON ja XML käsureal
- Andmebaasi algus: sqlite ja Python
- Pythoni venv ja eraldatud keskkonnad
See rada on hea sellepärast, et:
- kõigepealt õpid andmeid failidest lugema ja filtreerima
- siis saad aru, mis vahe on tabelil, JSON-il ja XML-il
- pärast seda muutub SQL palju loomulikumaks
- lõpuks saad sama töövoo viia Pythoni projekti või andmetöötlusse
Minimaalne 7 päeva plaan
Kui tahad võtta ühe lühikese esimese ringi, siis üks praktiline plaan on:
- päev: peatükid
05,07,08 - päev: peatükid
09,10,06 - päev: peatükid
11,03,04 - päev: peatükid
12,13,14 - päev: peatükid
15,16,17,18 - päev: peatükid
19,20,21,22 - päev: peatükid
29,30,31,34,36
Iga päeva puhul:
- loe peatüki loogika läbi
- proovi vähemalt pooled näited ise läbi
- tee peatüki minitest
Millal kasutada raamatut referentsina
Kui oled juba baasi läbinud, siis ei pea enam liikuma õpitee järgi. Siis on parem kasutada peatükke probleemipõhiselt:
- “mul on vaja faile leida” -> Kataloogid ja failid
- “mul on vaja aru saada, mis süsteemikaust kuhu käib” -> Failisüsteemi kaart
- “mul on vaja mustrit otsida” -> Teksti otsimine: grep ja sugulased
- “mul on vaja serverisse saada” -> Kauglogimine ja SSH
- “mul on vaja veebileht alla tõmmata või linke kokku koguda” -> Veebist sisu toomine ja tekstivaade: curl, wget, lynx
- “mul on vaja aru saada, miks käsk ei tööta” -> Lihtne veaotsing käsureal
- “mul on vaja sõltuvused paigaldada” -> Paketihaldus: apt, dnf, pacman, brew