Nebojte se příkazové řádky Linuxu! Je to mocný a přívětivý nástroj umožňující efektivně zpracovat i velká data a zautomatizovat činnosti. Prakticky shodně funguje příkazová řádka i v Apple macOS, BSD a dalších UNIXových systémech, nejen v Linuxu. Kurz je vhodný pro úplné začátečníky i mírně pokročilé. Jediným vstupním požadavkem je zájem (nebo potřeba) pracovat v příkazové řádce, typicky na linuxovém výpočetním serveru.
Znalosti práce v Linuxu/UNIXu se hodí např. při zpracování rozsáhlých molekulárních a jiných dat na výpočetních clusterech jako je MetaCentrum. To je služba CESNETu poskytující přístup k obrovské výpočetní kapacitě, kterou mohou všichni studenti a zaměstnanci akademických institucí v Česku využít pro své výpočty. Znalosti z kurzu tam ihned můžete zúročit. Kurz poskytuje teoretický úvod i řadu praktických příkladů a cvičení.
Kurz poběží turnusově 4 dny, přičemž 3 dny poběží výuka a poslední den bude na zápočty a individuální konzultace. Tento poslední den účastníci mohou (což je vřele doporučeno), ale nemusí využít.
Bude-li se kurzu účastnit alespoň jeden člověk nemluvící česky, kurz bude anglicky.
Podrobnosti budou průběžně aktualizované v SISu. Rozvrh je v SISu. Kurz proběhne v posluchárně OŽP B12 (1. mezipatro, Benátská 2, Praha 2) od 15. do 18. ledna 2024 od 9:00 do 16-17:00 (s dostatkem přestávek). Zájemce o kurz prosím o vyplnění krátkého dotazníku, který mi pomůže s přípravou kurzu a komunikací s účastníky.
Kurz bude sestávat z kratších přednášek následovaných individuální prací studentů a prostorem pro otázky, konzultace apod.
Podle aktuální epidemiologické situace je možné, že kurz bude v hybridním módu (ne jen plně prezenčně) nebo plně on-line. Podrobnosti budou průběžně aktualizovány podle vývoje situace před kurzem.
Sylabus
Přehled témat (může být upraven podle požadavků účastníků):
- Co to je UNIX, Linux, GNU, jaký je mezi nimi vztah a jaká je architektura systému, jádro
- Co to znamená "open-source", jaké licence se používají, jaká je filozofie, jaký je obchodní model
- Jaký je rozdíl mezi jednotlivými linuxovými distribucemi, jak se v tom vyznat, jak si vybrat
- Grafická rozhraní Linuxu - používáme Linux graficky
- Vyzkoušení pomocí živých CD/USB nebo virtualizace
- Speciální užití - záchranná CD, BusyBox v embedded zařízeních (NAS a další síťová zařízení, Android, …)
- Diverzita grafických nadstaveb vs. podobnost v příkazové řádce
- Instalace, diskové oddíly, jejich vytváření a kontrola
- Souborové systémy, struktura adresářů Linuxu, jména souborů a jejich konvence, kde se skrývá konfigurace a data
- Oprávnění souborů, spustitelnost, ACL, další atributy
- Root a běžní uživatelé, sudo
- Proč je důležitý dobrý textový editor, jaké jsou možnosti, kódování znaků, rozdíly mezi operačními systémy
- Příkazová řádka: Shell - Bash a ti druzí
- Proměnné, cesta ke spustitelným souborům, aliasy, úpravy chování příkazové řádky
- Terminály a jejich emulátory, vícenásobné přihlášení, virtuální terminály, přihlášení ke vzdálenému serveru
- Správa software z příkazové řádky (zypper, rpm, apt, aptitude), spuštění skriptu, kompilace
- Spouštění Java aplikací
- Základní informace o systému, volné místo, zjištění typu souboru, hardware
- Uživatelé, změna hesla, správa služeb (SystemD a jiní)
- Pohyb v adresářové struktuře, hledání
- Automatické spouštění úloh
- Sledování systému, procesy a jejich zabíjení
- Doplňování klávesou TAB, historie, řetězení příkazů
- Standardní vstup a výstup, přesměrování, roury
- Práce s textem - čtení, editace, vybrání řádku nebo sloupce, spojování souborů, zápis do nových souborů
- Běžné textové editory v příkazové řádce: Nano, MC, Vim, Emacs
- Porovnání textových souborů, hledání změn
- Zástupné a speciální znaky, escapování, regulární výrazy
- Aby úloha běžela i po odhlášení - screen
- Práce s dokumentací a hledání řešení
- Připojení souborových systémů, jejich vytváření a kontrola
- Psaní jednoduchých skriptů - proměnné, podmínky, větvení, cykly, vstupní parametry, návratové hodnoty
- Paralelizace úloh - využití vícejádrových procesorů
- Přístup k MetaCentru CESNETu
- Spouštění úloh v MetaCentru, základní skript
- Spuštění interaktivních a grafických úloh v MetaCentru
- Přehled dalších nabídek CESNETu
- Základní sledování stavu sítě
- Sledování historických verzí souborů (Git)
- A další... další témata postupně přibudou.
Na kurz potřebujete jakýkoliv počítač s Linuxem --- ať už samotný Linux, dualboot, virtualizaci (pro výuku je připraven obraz pro VirtualBox), popřípadě Cygwin nebo linuxový subsystém ve Windows 10, je to jedno. Nebo jiný UNIX (osX apod.). K dispozici bude výukový server, ke kterému se účastníci budou připojovat. Může tedy stačit používat Putty a připojení k tomuto serveru, nicméně to nebude umožňovat vyzkoušet si úplně všechno.