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