Unixové systémy [ KMI/UNIXS ]
Předmět seznamuje studenty s unixovými systémy, jejich principy a specifiky, poskytuje úvod do unixového shellu a základů zpracování textu.
V první části jsou představeny unixové operační systémy, jejich uživatelská prostředí a systémy nápovědy, souborů a procesů a studenti se seznámí s unixovým shellem (primárně Bash) a základy práce v něm. Druhá část předmětu je pak věnována základům zpracování textu pomocí základního softwarového vybavení unixového operačního systému a nástrojů grep, sed a awk. Vše je intenzivně praktikováno na cvičeních v operačním systému linux a shellu Bash, přednášky mají doplňkový charakter.
Předpoklady: Základní znalosti a dovednosti s operačními systémy na uživatelské úrovni.
Zkouška
- požadované znalosti dány seznamem přednášek a obsahem cvičení, přesněji odpřednášenou a odcvičenou látkou a obsahem slajdů k přednáškám a řešeními úkolů na cvičeních
- dvě části: řešení dvou vylosovaných úloh na počítači nebo na papír na učebně a ústní pohovor nad řešením
Zápočet
- požadována alespoň 75% aktivní účast na cvičeních s řešením úkolů
- odevzdání řešení všech úkolů z cvičení nezačínajících – do konce daného cvičení se bere jako aktivní účast na tomto cvičení
Materiály
Přednášky
- Představení unixových operačních systémů: 
Operační systém, Unix, GNU, Linux, distribuce.
          
 slajdy
- Uživatelská prostředí, nápověda: 
Grafické (desktop a základní aplikace), textové (terminál), příkazový řádek a interpret (shell), manuálové stránky a nápověda shellu.
          
 slajdy
- Základní principy, systém souborů: 
Soubory a adresáře, příkazy a programy pro práci s nimi, obsah
souborů, symbolické odkazy, (tradiční unixová) přístupová práva,
adresářová struktura.
          
 slajdy, záznam přednášky 19. 10. 2020
- Systém procesů, úvod do shellu: 
Procesy a manipulace s nimi. Řízení úloh v shellu, expanze jmen souborů a adresářů, aliasy, vstup a výstup programu, roura.
          
 slajdy, záznam přednášky 2. 11. 2020
- Editace textu: editory Vi a Emacs: 
(Plain) text. Editace textu (vkládání, mazání, kopírování), vyhledávání a
nahrazování textu, práce se soubory. Další editory.
          
 slajdy
- Zpracování textu: základní programy a grep: 
GNU Textutils: cat, head, tail, wc, sort, cut, paste, diff, …. Regulární výrazy a grep.
          
 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
- Zpracování textu: proudový editor sed
          – základy: 
Průběh editace, editovací příkaz, vybrané funkce.
          
 slajdy, záznam přednášky 14. 12. 2020
- Zpracování textu: programovací jazyk
          awk – základy: 
Pole řádku, vzorek a akce, proměnné, operátory.
          
 slajdy
Cvičení
- Unixový systém: 
Vzdálené připojení se k unixovému systému, nahrání a stažení souborů.
          
 úkoly
- Grafické uživatelské prostředí: 
Přihlášení se, desktop (menu, okna, plochy), základní aplikace
(prohlížeč souborů, webový prohlížeč, textový editor, emulátor terminálu).
          
 úkoly
- Příkazový řádek terminálu, nápověda: 
Příkazový řádek a interpret (shell), zadání příkazu, nápověda
(manuálové stránky, nápověda shellu), historie příkazů.
          
 úkoly
- Systém souborů: 
Soubory a adresáře, příkazy a programy pro práci s nimi (ls, cd , cp,
mv, rm), doplňování v shellu (TAB), obsah souborů (cat, less).
          
 úkoly
- Systém souborů: 
Symbolické odkazy (ln), (tradiční unixová) přístupová práva (chmod),
připojení souborového systému, adresářová struktura.
          
 úkoly
- Systém procesů, úvod do shellu (Bash): 
Výpis a ukončení procesů (ps, top, kill), řízení úloh v shellu (bg,
fg, jobs), expanze jmen souborů a adresářů
          
 úkoly
- Úvod do shellu (Bash): 
Aliasy, přesměrování vstupu a výstupu, roura.
          
 úkoly
- Editace textu: editory Vi a Emacs: 
Editace textu (vkládání, mazání, kopírování), vyhledávání a
nahrazování textu, práce se soubory. Další editory (Jed, Nano).
          
 úkoly
- Zpracování textu: základní programy: 
GNU Textutils: cat, head, tail, wc, sort, cut, paste, diff, ….
          
 úkoly
- Zpracování textu: regulární výrazy a grep: 
          
 úkoly
- Zpracování textu: proudový editor sed: 
          
 úkoly
- Zpracování textu: programovací jazyk awk: 
          
 úkoly
Literatura
- Vychodil V.: Linux: Příručka českého uživatele. Computer Press, 2003. ISBN 80-7226-333-1
- Ray D. S., Ray Eric J.: Unix: podrobný průvodce. Grada, 2009. ISBN 978-80-247-2125-5
- Cannon J.: Linux for Beginners: An Introduction to the Linux Operating System and Command Line. CreateSpace Independent Publishing, 2014
- Kameník P.: Příkazový řádek v Linuxu: praktická řešení. Computer Press, 2012. ISBN 978-80-251-2819-0
- Fox R.: Linux with operating system concepts. CRC Press, 2015. ISBN 978-1-4822-3589-0
- Herold H.: awk & sed: Příručka pro dávkové zpracování textu. Coputer Press, 2004. ISBN 9788025103098
- kolektiv: Linux: Dokumentační projekt, 4. aktualizované vydání. Computer Press, 2008. ISBN 9788025115251
- Sobell M. G., Helmke M.: A Practical Guide to Linux Commands, Editors, and Shell Programming (4nd Edition). Addison-Wesley, 2017
- Albing C., Vossen JP: bash Cookbook: Solutions and Examples for Bash Users (2nd edition). O'Reilly Media, 2017. ISBN 978-1-491-97533-6
- Blum R., Bresnahan C.: Linux Command Line and Shell Scripting Bible, 3rd Edition. Wiley, 2015
- Forst L.: Shell v příkladech aneb aby váš unix skvěle shell. Matfyzpress, 2010. ISBN 978-80-7378-152-1
- Sobell M. G.: Mistrovství v Linuxu: Příkazový řádek, shell, programování. Computer Press, 2007. ISBN 9788025117262