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 Lisa D: edasised võimalused ja lugejate soovid, mis kuulub osasse Lisad.

Lisa D: edasised võimalused ja lugejate soovid

See lisa ei ole vigade nimekiri ega kriitika olemasolevale materjalile. Põhiraamat katab juba käsurea baasi, süsteemi pildi, failid, võrgu, tekstivood, arendustööriistad ja mitu kõrvalrada. Siin on pigem avatud nimekiri teemadest, mida võiks järgmistes versioonides süvendada.

Õpik on kasvanud kiiresti ja mitmed varasemad puudujäägid on nüüdseks kaetud. Lisandunud on näiteks:

  • failisüsteemi kaart ja kettaruumi peatükk
  • lihtne veaotsing, võrgu põhitööriistad, logid ja teenused
  • tmux, screen, cron, find ja xargs
  • esimene shelliskript ning nüüd ka shelli seadistusfailide lisa bash-i ja zsh-i jaoks
  • Git-i, Pythoni virtuaalkeskkondade, Dockeri ja IDE-de peatükid
  • andmeteaduse stardirada, CSV, JSON, XML, SQLite ja LaTeX
  • miniõpikud eri sihtrühmadele
  • spikrite register ja osa-spikrite HTML/PDF-vaated
  • usaldusväärsete viidete ja lisalugemise lisa
  • kuvatõmmiste töövoog ja valitud peatükkidesse seotud pildid

Seetõttu ei ole järgmine küsimus enam “mis kõige tähtsam puudub?”, vaid “milline süvendus oleks lugejale kõige kasulikum?”.

Kuidas lugeja saab aidata

Kõige väärtuslikum tagasiside on konkreetne. Kui saadad oma eelistusi või parandusi, siis on eriti kasulik mainida:

  • milline peatükk või teema sind aitas
  • kus jäi seletus liiga lühikeseks või liiga järsuks
  • millist teemat tahaksid näha järgmises versioonis
  • kas vajad rohkem algaja näiteid, spikreid, arendaja töövooge või süsteemihalduse selgitusi
  • millises keskkonnas sa õpikut kasutad: Linux, macOS, WSL, kooli server, Raspberry Pi või midagi muud

Tagasisidet saab saata lehe Õpikust kaudu. Seal on valmis kirjapõhi soovituste ja murekohtade saatmiseks.

Tugevad järgmised kandidaadid

1. GitHubi koostööharjutused suurema projekti jaoks

Git-i peatükk katab nüüd ka harude haldamise, sissetulevad muudatused, merge/rebase vahe, konfliktid ning GitHubi issue ja pull request'i põhitöövoo. Järgmine sügavam ring võiks olla eraldi harjutusrada, kus sama projekti kallal tegutseb mitu inimest:

  • issue'dest tööjärje tegemine
  • pull request'i review eri rollides
  • fork ja upstream avatud lähtekoodi töövoos
  • mitme sõltuva haru korrastamine
  • release'i ettevalmistamine GitHubis
  • konfliktide harjutamine meelega tehtud näidisrepos

See oleks kasulik lugejale, kes oskab juba Git-i põhitöövoogu, kuid tahab harjutada päris meeskonnatöö rütmi.

2. Shelliskriptide teine aste

Esimese skripti peatükk annab alguse. Järgmine tase võiks lisada:

  • funktsioonid
  • case
  • set -euo pipefail
  • ajutised failid
  • argumentide kontroll
  • veakindlam sisenditöötlus
  • skripti jagamine väiksemateks loetavateks osadeks

See sobiks hästi neile, kes tahavad muuta korduvad käsurea töövood päris tööriistadeks.

3. Backup ja taastamine

Failide kopeerimine, sünkroonimine, arhiivid ja räsid on olemas, aga eraldi ülesandepõhine peatükk võiks siduda need üheks tervikuks:

  • varukoopia põhimõtted
  • rsync varundamiseks
  • arhiiv ja snapshot
  • checksum'id ja tervikluse kontroll
  • miks taastamist peab ka päriselt proovima
  • mida tähendab “varukoopia on olemas” ainult siis, kui taastamine on läbi proovitud

See on praktiline teema nii õppijale, arendajale kui väikese serveri haldajale.

4. systemd timerid

cron on olemas, kuid Linuxi süsteemides kohtab üha sagedamini ka systemd timereid. Edasine peatükk võiks selgitada:

  • mis vahe on cron-il ja systemd timeril
  • kuidas käivad kokku .service ja .timer
  • kuidas vaadata timeri logisid
  • millal timer on parem valik kui cron

See teema sobib pigem Linuxi-haldamise järgmisse kihti.

5. R ja notebook'ide sild

Andmeteaduse stardirada on olemas, kuid analüüsi poolel võiks hiljem lisada silla:

  • R
  • Jupyter või muu notebook'i tööloogika
  • millal kasutada shelli
  • millal minna SQL-i, Pythonisse või R-i
  • kuidas käsurida aitab andmeid enne notebook'i avamist kontrollida

See ei peaks muutma õpikut andmeteaduse kursuseks, vaid aitama lugejal valida õige tööriista õiges etapis.

6. Regulaaravaldiste eraldi harjutusrada

grep, sed, awk ja perl peatükid puudutavad regulaaravaldisi juba mitmes kohas. Eraldi väike harjutusrada võiks anda:

  • lihtsad mustrid
  • rea algus ja lõpp
  • märgiklassid
  • kordused
  • grupid ja tagasiviited
  • millal regex ei ole enam parim tööriist

See oleks kasulik siis, kui lugeja tahab mustriotsingu teadlikumalt selgeks saada.

Teemad, mis sobivad hilisemaks

Mõned teemad on kasulikud, kuid ei pea tingimata tulema enne ülalolevaid:

  • väga sügav awk või sed
  • keerulisem Docker Compose mitme teenusega projektides
  • terminali prompti väga peen välimuse häälestamine
  • kerneli või süsteemikutsete süvateooria
  • paketihalduse sisemine ehitus
  • SSH tunnelite ja hüppemasinate keerulisemad skeemid

Need võivad sobida eraldi edasijõudnute peatükkideks või miniõpikuteks.

Praegune seis

Praegune õpik on juba kasutatav nii õppimiseks kui referentsiks. Edasine töö võiks liikuda vähem “veel üks baaspeatükk” ja rohkem “vali üks päris probleem ning näita seda otsast lõpuni” suunas.

Kui mitu lugejat soovib sama teemat, on see hea märk, et just sellest võiks saada järgmine peatükk või miniõpik.

Peatüki täisspikker

Referents

Eesmärk

järgmine voor peaks pigem süvendama olemasolevaid tugevaid teemasid kui lisama juhuslikke uusi baaskäske

Tugevad järgmised teemad

  • R ja notebook'idanalüüsi järgmine aste
  • Git järgmine asteharud ja konfliktid
  • Shelliskriptid IIveakindlam loogika
  • Statistika sildandmetöö mõtteviis
  • systemd timeridajastus Linuxis
  • Varukoopiadtaastamine ja kontroll