Videa k Programování v shellu

Videa k Programování v shellu Seznam všech příspěvků

Cílem „video-seriálu Programování v shellu“ je seznámení se s příkazovou řádkou a se základní sadou programů pro začínajícího uživatele Unixových operačních systémů. Seriál nepředpokládá žádné předchozí znalosti a je rozdělen do několika částí.

V současné době má seriál 12 částí, které obsahují 69 dílů o celkové délce 32,5 hodin. Další, rozšiřující, díly budou postupně přibývat. Předpokládám, že budou pokrývat praktické ukázky použití příkazů a konstrukcí jak v praktických situacích, tak i v jednodých situacích pro procvičení. Námětem další dílů mohou být také některá témata probraná více do hloubky.

Náměty na doplňující nebo rozšiřující obsah jsou velmi vítány. Stejně tak otázky nebo problémy při praktickém používání shellu a externích nástrojů.

Konceptuální obsah

Seriál neprochází systematicky od jednoho tématu ke druhému (do hloubky). Spíš se jedná o několikanásobný průchod (do šířky), kdy se nejprve povrchně proberou základní témata, která se později podrobněji rozebírají a kombinují. Proto jsou některá témata zmíněna několikrát, pokaždé na vyšší úrovni, resp. detailněji.

  1. Příkazová řádka (shell)
    • Základní seznámení se s shellem
    • Interpretace příkazové řádky
  2. Základní práce se soubory a jejich obsahem
    • Manipulace s filesystémem
    • Primitivní textové filtry
  3. Zpracování textů regulárními výrazy
    • Statické filtry
    • Programovatelné filtry
  4. Přístupová práva a programové konstrukce v shellu
  5. Pokročilejší práce
    • Hledání, archivace, komprese souborů
    • Procesy a úlohy

Seriál začíná vysvětlením činnosti shellu, tedy programu, který zprostředkovává rozhraní mezi uživatelem a operačním systémem. Od prostého použítí shellu pro spouštění jednoduchých příkazů až po komplexní možnosti interpretace příkazové řádky. Ukazuje různé možnosti, které shell nabízí svým uživatelům, aby jim usnadnil a zrychlil práci.

V dalších částech se seriál zabývá různými externími nástroji (příkazy mimo shell), které umožňují pracovat se soubory (filesystémem) a s obsahem soborů. Představuje koncepci (textových) fitrů, která postupně, pomocí jednoduchých kroků, dokáže upravovat obsah souborů. Filtry jsou obvykle spouštěny paralelně a proudovým způsobem (pipeline) manipulují s jednotlivými řádky.

Speciálními kapitolami jsou textové filtry, které využívají síly regulárních výrazů. Ať už se jedná o jednoduchý filtr „grep“ nebo programovatelné filtry (programovací jazyky) „sed“ a „awk“.

Další části se zabývají přístupovými právy a řídícími konstrukcemi v shellu, t.j. podmínkami, cykly, aritmetikou a logickými výrazy a bloky příkazů.

V závěru se seriál zabývá problematikou adresářových struktur, procesů v operačním systému a úlohami v shellu. Konkrétně hledáním, archivací a kompresí souborů a adresářů a hledáním a řízením procesů (běžících programů) a úloh (skupin procesů v shellu).

Detailní obsah

Ukázky jsou primárně vytvořeny na systému Solaris 11, ale je možné je zkoušet (občas s mírnou úpravou) také na Linuxu (nebo MacOS). Smyslem je ukázat rozmanitost světa Unixových operačních systémů a zároveň jejich jednotu v přístupu k uživatelům, souborům, programům a v celkové filozofii používání OS.

Příklady často využívají soubory, které jsou na Unixových systémech nebo Linux běžně k dispozici. Pro snadnější zkoušení představovaných nástrojů a konstrukcí je k dispozici také repozitář s daty a ukázkovými skripty a nástroji. Git repozitář je volně přístupný na gitlabu a je možné jej stáhnout např. pomocí příkazu git clone https://gitlab.com/lukasbarinka/ps.git

  1. Úvod do příkazové řádky [02:42:31] — Prezentace k úvodu do příkazové řádky
  2. Zpracování příkazové řádky (Command line interpretation) [07:02:43] — Prezentace ke zpracování příkazové řádky
  3. Textový editor „vim“ [00:24:39] — Prezentace k textovému editoru vim
  4. Systém souborů (Filesystem) [03:07:11] — Prezentace k filesystému
  5. Filtry (Filters) [03:28:55] — Prezentace k textovým filtrům
  6. Regulární výrazy (Regular expressions) [02:29:31] — Prezentace k regulárním výrazům
  7. „sed“ (Stream editor) [02:37:48] — Prezentace ke stream editoru
  8. „awk“ [02:35:42] — Prezentace k awk
  9. Složené příkazy, t.j. podmínky a cykly (Compound commands) [02:57:18] — Prezentace k složeným příkazům
  10. Přístupová práva (Permissions) [01:26:13] — Prezentace k přístupovým právům
  11. Hledání, archivace a komprese souborů [02:09:23] — Prezentace ke hledání, archivaci a kompresi souborů
  12. Procesy a úlohy [01:28:02] — Prezentace k procesům a úlohám v shellu
  13. Rozšíření přístupových práv a ACL [02:15:01] — Prezentace k rozšíření přístupových práv