Kurz práce v příkazové řádce Linuxu nejen pro MetaCentrum 2022

Napsal uživatel vojta dne Čt, 11/11/2021 - 11:51

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 17. do 20. ledna 2022 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.