Předmět: Programování v unixovém shellu

« Zpět
Název předmětu Programování v unixovém shellu
Kód předmětu KMI/SHELL
Organizační forma výuky Seminář
Úroveň předmětu Bakalářský
Rok studia 2
Semestr Letní
Počet ECTS kreditů 3
Vyučovací jazyk Čeština
Statut předmětu Povinně-volitelný
Způsob výuky Kontaktní
Studijní praxe Nejedná se o pracovní stáž
Doporučené volitelné součásti programu Není
Vyučující
  • Outrata Jan, doc. Mgr. Ph.D.
Obsah předmětu
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, 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. 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. 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. 3. Programování v shellu (Bash): Příkazy, proměnné (parametry), podmínky, cykly, celočíselná aritmetika, seskupování příkazů, funkce, skript. 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. 5. Zpracování textu: proudový editor sed: Průběh editace, editovací příkaz, funkce, použití proměnných shellu. 6. Zpracování textu: programovací jazyk awk: Pole řádku, vzorek a akce, proměnné, pole, operátory, podmínky, cykly, funkce. 7. Národní prostředí (české): Lokalizace a lokalizační proměnné shellu, kódování textu a konce řádků. 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).

Studijní aktivity a metody výuky
Přednášení, Demonstrace, Laborování
Výstupy z učení
Předmět se zabývá programováním v shellu na unixových operačních systémech (skriptováním) a zpracováním textu pomocí základního softwarového vybavení těchto systémů s využitím shellu.
3. Aplikace/Application: Řeš úlohy zpracování textu pomocí shellu v unixových operačních systémech.
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.
KMI/UNIXS

Hodnoticí metody a kritéria
Analýza výkonů studenta

Zápočet. Aktivita na cvičeních a splnění zadaných úkolů.
Doporučená literatura
  • Albing C., Vossen JP. (2017). bash Cookbook: Solutions and Examples for Bash Users (2nd edition). O'Reilly Media.
  • Blum, R., Bresnahan, C. (2015). Linux Command Line and Shell Scripting Bible, 3rd Edition. Wiley.
  • Čada O. Mac OS X Shell krok za krokem.. Grafika Publishing s.r.o.
  • Forst L. (2010). Shell v příkladech aneb aby váš unix skvěle shell. Matfyzpress.
  • Herold H. (2004). awk & sed: Příručka pro dávkové zpracování textu.. Computer Press.
  • kolektiv. (2008). Linux: Dokumentační projekt, 4. aktualizované vydání.. Computer Press.
  • Michael R. K. (2008). Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus. Wiley.
  • Newham C. (2005). Learning the bash Shell: Unix Shell Programming (In a Nutshell). O'Reilly Media.
  • Ray D. S., Ray Eric J. (2009). Unix: podrobný průvodce. Grada.
  • Robbins A. (2005). Unix in a Nutshell, Fourth Edition. O'Reilly Media.
  • Sobell, M. G., Helmke, M. (2017). A Practical Guide to Linux Commands, Editors, and Shell Programming (4th Edition). Addison-Wesley.
  • Sobell M. G. (2007). Mistrovství v Linuxu: Příkazový řádek, shell, programování. Computer Press.
  • Vychodil, V. (2003). Linux - Příručka českého uživatele systému. Computer Press.


Studijní plány, ve kterých se předmět nachází
Fakulta Studijní plán (Verze) Kategorie studijního oboru/specializace Doporučený ročník Doporučený semestr
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika (2020) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Programování a vývoj software (2021) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informační technologie (2022) Kategorie: Informatické obory 1 Doporučený ročník:1, Doporučený semestr: Letní
Fakulta: Přírodovědecká fakulta Studijní plán (Verze): Informatika - specializace Obecná informatika (2021) Kategorie: Informatické obory 2 Doporučený ročník:2, Doporučený semestr: Letní