Programování v unixovém shellu [ KMI/SHELL ]

Předmět se zabývá programováním v shellu na unixových operačních systémech (skriptování) a zpracování textu s využitím shellu.

Předmět volně navazuje na předmět Unixové systémy. V první části jsou stručně zopakovány základy unixového shellu, systémů souborů a procesů a zpracování textu na unixových operačních systémech. Hlavní náplní předmětu je pak programování v shellu (tzv. skriptování, primárně shell Bash) a jeho využití pro proudové zpracování textu pomocí základního softwarového vybavení unixového operačního systému a zejména nástrojů grep, sed a awk. V závěru jsou zmíněna i národní specifika (lokalizace) a specifika systémů Linux, GNU a Apple Mac OS X. Vše je intenzivně praktikováno na seminářích v operačním systému linux a shellu Bash.

Předpoklady: Dovednosti práce s unixovými operačními systémy v rozsahu předmětu Unixové systémy a programování v libovolném jazyce.

Zápočet

Společné informace k zápočtu

Materiály

Semináře

  1. Základní principy unixových operačních systémů, úvod do shellu: Příkazový řádek a interpret (shell), manuálové stránky a nápověda shellu, soubory a adresáře, (tradiční unixová) přístupová práva, procesy a manipulace s nimi. Řízení úloh v shellu, expanze jmen souborů a adresářů, aliasy, vstup a výstup programu, roura.
    úkoly, slajdy, záznam přednášky 19. 10. 2020, záznam přednášky 2. 11. 2020
  2. Základy zpracování textu: Editace textu: editory Vi a Emacs, základní programy, regulární výrazy a grep, základy sedu a awk.
    úkoly, slajdy, záznam přednášky 2. 11. 2020, záznam přednášky 16. 11. 2020, záznam přednášky 30. 11. 2020, záznam přednášky 14. 12. 2020
  3. Programování v shellu (Bash): Příkazy, proměnné (parametry), podmínky, cykly, celočíselná aritmetika, seskupování příkazů, funkce, skript.
    úkoly 1-3, poznámky
  4. Programování v shellu (Bash): Spouštění shellu, kvótování, speciální proměnné, pole, expanze ({}, proměnných a parametrů, slov, cesty), substituce výstupu příkazu, další příkazy.
    úkoly 4-5, úkoly 6-7, poznámky
  5. Zpracování textu: proudový editor sed: Průběh editace, editovací příkaz, funkce, použití proměnných shellu.
    úkoly 8-9, úkoly 10-11, poznámky, záznam přednášky 14. 12. 2020
  6. Zpracování textu: programovací jazyk awk: Pole řádku, vzorek a akce, proměnné, pole, operátory, podmínky, cykly, funkce.
    úkoly 12-13, úkoly 14-15, poznámky
  7. Národní prostředí (české): Lokalizace a lokalizační proměnné shellu, kódování textu a konce řádků.
    úkoly 16-17, poznámky
  8. Specifika oproti Unixu (standardu POSIX): Specifika Linuxu, GNU a Apple Mac OS X (desktop a terminál, příkazový řádek, nápověda, souborový systém, systém procesů, grep, Bash, sed, awk, lokalizace).
    poznámky

Literatura