Tato stránka poskytuje přehled očekávaných učebních výstupů ze všech cvičení. Může se hodit pokud hledáte nějaké konkrétní téma, ale nepamatujete si, na kterém cvičení se probíralo.

Cvičení #1

Přejít na stránku cvičení

Znalosti konceptů

  • vysvětlit, proč není grafické uživatelské rozhraní pevnou součástí Linuxu
  • vyjmenovat několik rozdílů mezi různými grafickými rozhraními dostupnými v systému Linux
  • vysvětlit v širších souvislostech, co je to distribuce Linuxu
  • vysvětlit, co lze chápat pod pojmem unixová rodina operačních systémů
  • vyjmenovat několik druhů objektů, které jsou obvykle potřebné pro softwarové projekty
  • vysvětlit v širším významu, co je to verzovací nástroj
  • vysvětlit základní (vysokoúrovňové) operace verzovacích nástrojů

Praktické dovednosti

  • nastartovat vlastní počítač do Linuxu (buď použitím USB disku, dual-bootem nebo přes virtuální stroj)
  • přihlásit se do grafického linuxového prostředí
  • přihlásit se do fakultní instance GitLabu
  • vytvořit nový projekt na GitLabu
  • nahrát nové změny na GitLab pomocí webového rozhraní a vytvořit na něm commit
  • upravit existující soubory v GitLabovém projektu (ve webovém rozhraní GitLabu)
  • upravit nastavení upřednostňovaného (Linuxového) grafického prostředí
  • vytvořit jednoduchou GitLabovou issue v projektu

Cvičení #2

Přejít na stránku cvičení

Znalosti konceptů

  • vysvětlit, kdy je rozhraní příkazového řádku lepší (či horší) volbou než grafická aplikace
  • vysvětlit rozdíl mezi (emulátorem) terminálu a shellem
  • vysvětlit, co je to cesta k souboru
  • vysvětlit rozdíl mezi relativní a absolutní cestou
  • vysvětlit, jak fungují tzv. shell wildcards (názvy souborů)
  • vysvětlit, co jsou argumenty příkazové řádky (options, switches)
  • vysvětlit užitečnost oddělovače -- (při použití wildcardů u zvláštně pojmenovaných souborů)
  • vysvětlit, co je domovský adresář (home directory)

Praktické dovednosti

  • spustit a ukončit emulátor terminálu
  • nastavit si oblíbený emulátor terminálu
  • procházet souborový systém pomocí nástrojů textového uživatelského rozhraní (např. mc nebo ranger)
  • procházet souborový systém pomocí příkazů ls a cd
  • použit základní přepínače příkazu ls, jako jsou -l, -h nebo -a
  • použít zástupné znaky (wildcards) pro omezení příkazů na určité podmnožiny souborů
  • spustit Pythoní skript z příkazové řádky
  • zobrazit obsah textových soubor pomocí utility cat
  • zobrazit obsah binárních souborů jako hexadecimální výpis pomocí programu hexdump
  • identifikovat typ souboru pomocí nástroje file
  • využívat vestavěné manuálové stránky (základní operace)
  • používat schránky dostupné v grafických prostředích Linuxu
  • používat doplňování tabelátorem pro rychlejší psaní názvů souborů a cest
  • používat soubory se neobvyklými názvy

Cvičení #3

Přejít na stránku cvičení

Znalosti konceptů

  • vysvětlit, co znamená skript (v kontextu Linuxového prostředí)
  • vysvětlit, co je to shebang a jak ovlivní spuštění skriptu
  • chápat rozdíl mezi tím, zda skript má nebo nemá nastavený spustitelný bit
  • vysvětlit, co je pracovní adresář (working directory)
  • vysvětlit, proč je pracovní adresář soukromou “vlastností” běžícího programu
  • vysvětlit, jak jsou argumenty (parametry) předané skriptu s shebangem
  • vysvětlit, co je standardní výstup a vstup
  • vysvětlit, proč přesměrování standardního vstupu/výstupu není (přímo) viditelné uvnitř programu
  • vysvětlit, jak se liší cat foo.txt a cat <foo.txt
  • vysvětlit, jak může být více programů používajících standardní vstup/výstup složeno (propojeno) dohromady
  • volitelné: vysvětlit, proč cd nemůže být normální spustitelný soubor jako /usr/bin/ls

Praktické dovednosti

  • vytvořit Linuxový skript se správným shebangem
  • nastavit executable bit skriptu pomocí utility chmod
  • přistupovat k argumentům příkazové řádky ve skriptu Pythonu
  • přesměrovat standardní vstup a výstup programů v shellu
  • používat standardní vstup a výstup v Pythonu
  • použít rouru (pipe) | pro řetězení více programů dohromady
  • používat základní filtry: cut, sort, …
  • použít grep -F pro filtrování řádků odpovídajících zadanému vzoru

Cvičení #4

Přejít na stránku cvičení

Znalosti konceptů

  • vysvětlit, co je pracovní kopie Gitu (klon, working copy)
  • vysvětlit, proč existují dva druhy výstupu (výstupních proudů): stdout a stderr
  • vysvětlit co je návratový kód programu (exit code)
  • vysvětlit rozdíly a typická využití pro pět hlavních rozhraní, která může využít CLI program: argumenty, stdin, stdout, stderr a návratová hodnota (exit code)\n
  • volitelné: vysvětlit, co je to deskriptor souboru (z pohledu aplikace, nikoliv OS/kernelu)

Praktické dovednosti

  • nastavit informace o autorovi v Gitu
  • nastavit výchozí editor v shellu (nastavení EDITOR v ~/.bashrc)
  • naklonovat Gitový repozitář v shellu přes HTTPS
  • prohlédnout změny v Gitové pracovní kopii (příkaz git status)
  • vytvořit commit v Gitu z příkazové řádky (příkazy git add a git commit)
  • nahrát nové commity na Git server nebo stáhnout nové do pracovní kopie\n(za předpokladu projektu s jedním uživatelem, příkazy git push a git pull)\n
  • prohlédnout si souhrnné informace o předchozích commitech pomocí git log
  • volitelné: upravit si chování Gitu pomocí aliasů
  • přesměrovat standardní výstup a standardní chybový výstup programu v shellu
  • změnit návratovou hodnotu (exit code) pro Pythoní skripty
  • používat speciální soubor /dev/null
  • používat standardní chybový výstup v Pythonu
  • volitelné: upravit si chování shellu pomocí aliasů
  • volitelné: upravit si konfiguraci shellu pomocí .bashrc a .profile skriptů
  • volitelné: upravit si vzhled promptu pomocí proměnné PS1