Linux: Kniha kouzel, vanilková příchuť 2.14 (15. července 2022)
Veškerá moc příkazové řádky/příkazového řádku přehledně, pro začátečníky i pokročilé

1. Předmluva

Řada 2.x vanilkové příchuti Linuxu: Knihy kouzel je od 15. července 2022 do 1. března 2025 ve stavu dlouhodobé pasivní údržby; nahlášené chyby budou opravovány, ale aktivní vývoj se již věnuje jiným projektům. Máte-li zájem pokračovat v tvorbě Linuxu: Knihy kouzel pro novější verze linuxových operačních systémů, kontaktujte autora nebo rovnou vytvořte odnož.
„Prostě příkazový řádek v Linuxu je něco úchvatného, a kdo se neumí v tomto prostředí pohybovat, přichází o hodně.“
— KAMENÍK, Pavel. Příkazový řádek v Linuxu: praktická řešení. Brno: Computer Press, 2011. ISBN 978-80-251-2819-0.

Vážné čtenářstvo,

v České republice začíná v letech 2020 až 2024 pracovat s linuxem velmi početné uživatelstvo a tito lidé svůj nový systém poznávají převážně třemi nejběžnějšími způsoby:

Většina z nich spoléhá na webové online zdroje v angličtině, a protože nic jiného neznají, věří, že se z nich dozví vše podstatné. V tomto si s nimi dovolím nesouhlasit, protože znám především dva druhy online zdrojů a každý má svůj zásadní nedostatek: pokud hledáte odpovědi na svoje otázky použitím webového vyhledavače, dozvíte se zpravidla jen to, na co se ho „zeptáte“ (tzn. co si necháte vyhledat). Problém je, že ač si to nejspíš neuvědomujete, na mnoho podstatného se nezeptáte, protože vás to nenapadne, takže i když webové stránky tuto podstatnou informaci obsahují, vy se ji touto cestou stejně nedozvíte. Druhým typem online zdroje je podrobná dokumentace konkrétního programu, ta bývá opravdu kvalitní, ale trpí jiným nedostatkem – pokud daný program pro vámi řešený problém není vhodný nebo je již zastaralý a překonaný, jeho dokumentace, jakkoliv rozsáhlá, vám to nepoví a neporadí vám, kde jinde hledat.

O mnoho lépe na tom nejsou ani ti, kdo se s linuxem učí zacházet z nejnovějších knih na českém knižním trhu. Ty nejnovější, které se věnují linuxu, jsou totiž z let 2008 až 2012, a ačkoliv některé z nich naučí člověka opravdu dobře zacházet s (GNU) Bashem (snad až na asociativní pole), do praxe si z nich odnese také mnohé zastaralé a překonané postupy, protože se o těch nových a vylepšených, které jsou díky pokračující obětavé práci programátorstva svobodného software dostupné teprve několik let, prostě nedozví, což mě mrzí.

Třetí skupina uživatelstva si se svým systémem hraje a experimentuje. Tyto osoby se zpravidla o novějších postupech, příkazech a funkcích dozvědí jako první, ale stojí je to neúměrné množství času a úsilí a ne každou/ého takové experimentování baví.

Já sám/a jsem linux jako svůj hlavní operační systém začal/a používat koncem roku 2018 a patřím do té druhé skupiny — v začátcích mi nesmírně pomáhaly vynikající příručky z let 1999 až 2010. V praxi jsem však opakovaně objevoval/a, že některé věci už jsou na dnešním linuxu jinak, viz třeba ACL, LVM nebo asociativní pole v Bashi. Takové věci prostě ve starých příručkách nenajdete.

Cílem Linuxu: Knihy kouzel je tuto situaci změnit a formou sbírky řešených příkladů připomínající knihu zaklínadel či konverzační slovník cizího jazyka kvalitně a detailně představit, co nejlepšího ve vybraných oblastech vám linux může nabídnout.

Máte-li totiž na počítači nainstalovaný linux, můžete mít na disku gigabajty nesmírně mocných nástrojů jako (GNU) Bash, FFmpeg, Perl či TeX, které v sobě skrývají desítky let práce špiček programátorstva, a nemusíte nezbytně pochopit, jak fungují, abyste s nimi dokázal/a velké věci. Pokud vás zajímá, co s nimi tedy můžete udělat, a konkrétní postup, jak toho dosáhnout, je toto kniha pro vás.

Linux: Kniha kouzel klade důraz na skutečné použití uvedených postupů, funkcí a nástrojů, takže teoretický výklad je omezen na minimum a poznámky uvádějí především praktické zkušenosti či technická omezení. Smyslem používání této knihy není, abyste se nějaký příkaz naučil/a používat, ale abyste ho s minimem nutného úsilí úspěšně použil/a. Pokud se o použitém nástroji chcete dozvědět víc a opravdu se naučit ho používat, je to určitě dobře, ale v takovém případě budete muset vyhledat i další informační zdroje, např. manuálové stránky či webové online zdroje. Samotný Linux: Kniha kouzel vám k tomu stačit nebude.

1. Kniha kouzel

Pokud už používáte linuxový terminál delší dobu, napadlo vás někdy, že když mu zadáváte příkazy, v mnoha aspektech se to podobá sesílání kouzel ve fantasy světech? Tento příměr je o to děsivější, že zatímco fantasy kouzla ovlivňují jen životy smyšlených postav, vaše příkazy budou mít reálné důsledky ve vašem vlastním počítači! Linux: Kniha kouzel je na tomto příměru založena, a proto v ní jednotlivé příklady nazývám „zaklínadla“. Pokud jste nadán/a dostatečnou dávkou fantazie, můžete si při čtení představovat, že jste začínající čaroděj/ka ve fantasy světě a v rukou držíte lexikon kouzel pro pokročilé. Při sesílání kouzel přesahujících vaši kvalifikaci se můžete snadno „spálit“ a to se vám může stát i při zadávání příkazů do terminálu, protože ten je velmi náročný na přesnost a i pouhá záměna jediné dvojtečky za středník nebo dvojité uvozovky za jednoduchou bude mít zcela jistě nečekané následky. Přesto se vám to vyplatí mnohem víc než omezit se jen na to málo příkazů, které bezpečně ovládáte. (Pokud znáte příběhy Harryho Pottera od J. K. Rowling, zamyslete se, jak by dopadl on, kdyby se omezil jen na kouzla odpovídající jeho školnímu ročníku. Můj názor: byl by mnohem víc závislý na Hermioně Grangerové.)

Zaklínadla v jednotlivých sekcích a podsekcích jsou vždy řazena od těch nejčastějších a nejdůležitějších k těm méně obvyklým. Díky tomu vám stačí z každé sekce přečíst jen několik prvních zaklínadel a skončit třeba uprostřed kapitoly, a přesto už to nejdůležitější budete vědět. (Do budoucna počítám s rozdělením kapitol na „základní“ a „rozšířenou“ verzi, ale zatím jsem nevymyslel/a, jak to technicky provést, aby se neplýtvalo papírem.)

2. Je tato kniha pro můj systém?

„Když dojdete na místo, kde má být podle mapy studánka, a najdete tam místo ní supermarket, neznamená to, že je mapa chybná, jen je určena pro jinou verzi lesa.“
– Singularis

Verze řady „vanilková příchuť“ 2.x (k nimž patří i tato verze knihy) jsou určeny především pro Ubuntu 20.04 Focal Fossa a jeho varianty (drtivá většina zaklínadel by měla fungovat i na Linuxu Mint 20). Řada vanilková příchuť 2.x je v době vydání této verze knihy aktivně vyvíjena a do jejího vývoje můžete přispět na GitHubu.

To, že je verze „určena především“ znamená, že na Ubuntu 20.04 jsou zaklínadla zkoušena a pokud tam některé nefunguje, je to chyba, kterou je nutno opravit. Na jiných distribucích, pokud mají odpovídající nebo novější verze příslušných programů, bude stále fungovat drtivá většina zaklínadel (až na výjimky). Na systémech se staršími verzemi programů bude fungovat menší část zaklínadel, ale přesto má smysl to zkusit.

Také je třeba upozornit, že řada postupů vyžaduje nainstalovat nějaký balíček, který ve výchozí instalaci není přítomen, nebo změnit nějaké systémové nastavení. Proto postupy z této knihy nemusí být vhodné pro uživatelstvo sdílených systémů (např. firemních či školních), protože to zpravidla nemůže instalovat balíčky či měnit nastavení systému.

3. Musím umět programovat?

K použití Linuxu: Knihy kouzel sice přímo nemusíte aktivně programovat, ale měl/a byste znát pojmy ze základů programování jako např. „funkce“, „příkaz“ či „skript“ a určitě vám prospěje, pokud máte na programování talent.

4. Balíček pomocných skriptů a funkcí

Některé úkoly, přestože zní jednoduše, jsou pro terminál ve skutečnosti dost složité, takže je ve výchozí instalaci není možné vykonat krátkým příkazem. Tradičním a stále efektivním linuxovým řešením takových situací je vytvoření skriptů a funkcí, které lze zavolat jednoduchým příkazem a vykonají za vás automaticky mnoho, často i velmi složitých příkazů, které danou úlohu vyřeší.

Každá kapitola, která tyto pomocné funkce či skripty vyžaduje, obsahuje jejich úplný zdrojový kód, což vám umožňuje si je vytvořit sám/a pouhým zkopírováním či ručním opsáním (opsání nedoporučuji kvůli riziku překlepů); pro vaše pohodlí je ovšem ke každé vydané verzi vanilkové příchuti Linuxu: Knihy kouzel online cestou distribuován balíček ve formátu „.deb“, který si můžete nainstalovat na svůj systém. Tento balíček obsahuje aktuální verze pomocných skriptů a funkcí a příkaz „lkk“, kterým můžete spouštět pomocné skripty nebo importovat pomocné funkce (příkazem „source <(lkk --funkce)“). Podrobnosti a další možnosti zjistíte příkazem „lkk --help“ (manuálovou stránku příkaz lkk zatím nemá).

5. Licence

„Linux: Kniha kouzel“ je dílem svobodné kultury; můžete ho/ji šířit a upravovat pod podmínkami licence Creative Commons Attribution-ShareAlike 4.0 International vydané neziskovou organizací Creative Commons. Text licence je přiložený k tomuto projektu nebo ho můžete najít na webové adrese:

 

https://creativecommons.org/licenses/by-sa/4.0/

 

Zdrojové soubory a návod k sestavení by měly být k dispozici na GitHubu na adrese:

 

https://github.com/singularis-mzf/linux-spellbook

 

Všechen software potřebný k sestavení projektu je svobodný. Pokud některá kapitola odkazuje na nesvobodný software, vždy na to výslovně upozorní.

6. Poznámky k vývojové větvi 2.x

Verzí 2.14 přešla vývojová řada „2.x“ vanilkové příchuti Linuxu: Knihy kouzel do stádia dlouhodobé pasivní údržby. V tomto stádiu bude docházet jen k minimálním změnám nutným k opravě nahlášených nebo jinak objevených chyb ve vydaných kapitolách. Vývojová řada „2.x“ zůstane v tomto stádiu do 1. března 2025, kdy bude její vývoj zcela ukončen.

 

– Singularis

Líbí se vám tento projekt a chcete, aby byl ještě lepší? Můžete mi s tím pomoci. Zmiňte se o něm technicky zdatným přátelům, opravte překlepy a nahlašte nefunkční zaklínadla, aby mohla být opravena; poskytněte mi zpětnou vazbu nebo se zapojte do vývoje nových kapitol. Další informace na GitHubu v dokumentu Jak se zapojit.
[BY-SA]

Veškerý obsah této stránky (text, obrázky, zdrojový kód) je možno upravovat a šířit pod podmínkami licence Creative Commons Attribution-ShareAlike 4.0 International. Upozorňuji, že uvedená licence vyžaduje uvedení seznamu autorů, licence a zdroje a poskytnutí stejné či kompatibilní licence k provedeným změnám, jsou-li nějaké. Příslušné údaje jsou dostupné na stránce „Přehled autorů“. Šíření obsahu bez těchto údajů nebo šíření upravené verze bez poskytnutí adekvátní licence k provedeným úpravám je pravděpodobně porušení licenčních podmínek a může být postihováno. Poskytování zdrojového kódu při šíření není touto licencí vyžadováno.

Pro nové verze, další informace, aktuální zdrojový kód a možnost se zapojit do projektu „Linux: Kniha kouzel“ navštivte jeho repozitář na GitHubu.