Mustand: sisu ei ole veel tehniliselt ega keeleliselt täielikult kontrollitud ega toimetatud.

Peatüki vaade

Linux/Unix/macOS käsurea kiirõpik

Praegu loed peatükki Õpitee ja õppetunnid, mis kuulub osasse Osa I: Esimesed sammud.

Õ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:

  1. kõigepealt õpi, kuidas käsurida lugeda ja kasutada
  2. siis ehita juurde süsteemipilt: failisüsteem, õigused, kettaruum, paketid
  3. seejärel mine failide, võrgu ja süsteemitöö juurde
  4. 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:

  • ssh kasutab sama käsurea loogikat, mida õpid varem
  • git käsud kasutavad samu valikute ja argumentide mustreid
  • rsync, grep, find ja 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:

  1. Kuidas seda õpikut kasutada
  2. Terminali esimesed sammud
  3. Abi leidmine: man, --help ja info
  4. Kataloogid ja failid
  5. Teksti vaatamine ja liikumine
  6. Failide vaatamine ja muutmine: cat, less, nano, vim
  7. Käskude kuju ja argumentide loogika
  8. Sisend, väljund, torud ja suunamine
  9. Esimene tervikharjutus: 30 minutit
  10. 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:

  1. Failisüsteemi kaart
  2. Kettaruum ja süsteemi maht
  3. Õigused, omanikud ja täitmisbitid
  4. Kasutajad, grupid ja sudo
  5. Muutujad, keskkond, PATH ja aliased
  6. Paketihaldus: apt, dnf, pacman, brew
  7. Lihtne veaotsing käsureal
  8. 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:

  1. Failide kopeerimine ja sünkroonimine
  2. Kauglogimine ja SSH
  3. Veebist sisu toomine ja tekstivaade: curl, wget, lynx
  4. Arhiivid ja pakkimine
  5. Tervete kataloogipuude haldus ja jagamine
  6. Protsessid, tööd ja signaalid
  7. Logid ja teenused
  8. 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:

  1. Teksti otsimine: grep ja sugulased
  2. Teksti teisendamine: tr, cut, paste, column, strings
  3. Vood ja tabelid: sort, uniq, wc, pr, join
  4. sed, awk ja perl praktiliselt
  5. `find` ja `xargs` ohutumalt
  6. Esimene shelliskript
  7. `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:

  1. Git, GitHub ja töövoog
  2. Pythoni venv ja eraldatud keskkonnad
  3. Dockeri alused
  4. IDE-d ja arenduskeskkonnad
  5. Andmeteaduse eelteadmised käsurea vaates
  6. CSV, JSON ja XML käsureal
  7. Andmebaasi algus: sqlite ja Python
  8. Kompileerimine ja käivitamine: shell, Python, C, C++, Go, Rust, Java
  9. LaTeX käsurealt

See järjekord on mõistlik, sest:

  • Git tuleb peaaegu igas projektis enne
  • venv aitab 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:

  1. Sisend, väljund, torud ja suunamine
  2. Teksti otsimine: grep ja sugulased
  3. Teksti teisendamine: tr, cut, paste, column, strings
  4. Vood ja tabelid: sort, uniq, wc, pr, join
  5. Andmeteaduse eelteadmised käsurea vaates
  6. CSV, JSON ja XML käsureal
  7. Andmebaasi algus: sqlite ja Python
  8. 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:

  1. päev: peatükid 05, 07, 08
  2. päev: peatükid 09, 10, 06
  3. päev: peatükid 11, 03, 04
  4. päev: peatükid 12, 13, 14
  5. päev: peatükid 15, 16, 17, 18
  6. päev: peatükid 19, 20, 21, 22
  7. 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: