Vše, co potřebujete znát o Linuxu, se ukrývá v jeho manuálových stránkách. Tyto stránky vám umožní nalézt potřebný příkaz i v případě, že neznáte jeho přesný název. Ale jak se k nim dostat? Podívejme se na několik užitečných triků.
Zabudovaný manuál v Linuxu
Mezi uživateli Linuxu koluje starý vtip, který říká, že jediným příkazem, který skutečně potřebujete znát, je „man“. Tento příkaz je vstupní branou do obsáhlé uživatelské příručky. Ačkoliv je na tom něco pravdy, i práce s příkazem „man“ může být pro nováčky matoucí, především pokud jde o vyhledávání specifických informací.
Určitě jste se někdy ocitli v situaci, kdy jste věděli, co chcete udělat, ale neměli jste tušení, jaký příkaz k tomu použít. Je to jako hledat slovo ve slovníku bez znalosti jeho znění. Jak tedy efektivně najít to, co hledáte? Existují způsoby, jak překonat tyto počáteční potíže s manuálovými stránkami.
Další záhadou pro začátečníky jsou čísla uvedená v dokumentaci, například „man(2)“ nebo „man(5)“. Stejně tak můžete narazit na odkazy jako „mount(2)“ a „mount(8)“. Je snad možné, aby existovalo více příkazů s názvem „mount“? Jak uvidíme, tato čísla mají svůj význam a jejich pochopení je poměrně jednoduché.
Pokud víte, jak na to, je hledání informací v manuálových stránkách snadné. Existuje několik elegantních způsobů, jak v nich vyhledávat a pohybovat se. Pojďme si je společně prozkoumat!
Jak otevřít manuálovou stránku
Příkaz „man“ se používá tak, že na příkazový řádek napíšete „man“, následuje mezera a název Linuxového příkazu, o kterém chcete získat informace. Tím se otevře takzvaná „man page“, která popisuje daný příkaz – pokud je ovšem k dispozici.
Zkuste zadat následující příkaz a zjistěte, co se dozvíme o samotném příkazu „man“:
man man
Otevře se manuálová stránka popisující příkaz „man“.
Jak vidíte, jedná se o stránku „man(1)“.
Pro navigaci v manuálové stránce použijte následující tipy:
- Pro pohyb po řádcích: Použijte kolečko myši, šipky nahoru a dolů, nebo klávesu Enter.
- Pro pohyb o jednu obrazovku: Použijte mezerník nebo klávesy PgDn a PgUp.
- Pro přesun na začátek nebo konec stránky: Použijte klávesy Home a End.
Stiskem klávesy „H“ se dostanete do sekce nápovědy, kde najdete seznam alternativních klávesových zkratek. Nicméně, výše uvedené možnosti by měly být pro většinu uživatelů intuitivnější.
Pro ukončení prohlížení stiskněte klávesu „Q“.
Struktura manuálové stránky
V horní části stránky najdete nadpisy jako „Jméno“ a „Souhrn“. Existuje ustálená struktura pro uspořádání manuálových stránek. Tyto stránky jsou dostupné pro příkazy, programy a programovací funkce (rutiny knihovny). Ne všechny tyto nadpisy však uvidíte na každé manuálové stránce, jelikož některé z nich se vztahují pouze ke konkrétním typům příkazů.
Zde je seznam některých nadpisů, na které můžete narazit:
Jméno: | Název příkazu, který je popsán na dané manuálové stránce. |
Synopse: | Stručný popis příkazu a jeho syntaxe. |
Konfigurace: | Podrobné informace o konfiguraci zařízení. |
Popis: | Vysvětlení funkce programu. |
Volby: | Popis parametrů příkazové řádky, které příkaz akceptuje. |
Stav ukončení: | Možné hodnoty návratového kódu příkazu a co je může způsobit. |
Návratová hodnota: | Popisuje hodnotu, kterou může knihovní rutina vracet volající funkci. |
Chyby: | Seznam hodnot, které mohou být uloženy v proměnné `errno` v případě chyby (errno.3). |
Prostředí: | Seznam proměnných prostředí, které ovlivňují chování příkazu. |
Soubory: | Seznam souborů, které příkaz používá, například konfigurační soubory. |
Atributy: | Přehled různých vlastností příkazu. |
Verze: | Informace o verzích linuxového jádra nebo knihoven, kde se funkce poprvé objevila. |
Vyhovující: | Popis standardů, které příkaz splňuje, jako je POSIX. |
Poznámky: | Další poznámky k příkazu. |
Chyby: | Seznam známých problémů s příkazem. |
Příklady: | Jeden nebo více příkladů použití příkazu. |
Autoři: | Osoby, které příkaz vytvořily nebo udržují. |
Viz také: | Doporučená literatura týkající se příkazu nebo daného tématu. |
Sekce manuálových stránek
Pokud posunete stránku o několik obrazovek dolů, uvidíte seznam sekcí v manuálu.
Jednotlivé sekce jsou:
Obecné příkazy: | Příkazy, které se používají v příkazovém řádku. |
Systémová volání: | Funkce poskytované jádrem, které mohou programy volat. |
Knihovní funkce: | Funkce, které programy mohou používat z knihoven kódu (většinou standard C). |
Speciální soubory: | Obvykle zařízení, jako jsou ta, která se nacházejí v adresáři /dev. |
Formáty souborů a konvence: | Formáty pro soubory jako passwd, crontab a archivy tar. |
Hry: | Popisy příkazů pro hry, jako je například fortune. |
Různé: | Popisy různých konceptů, jako jsou inody. |
Správa systému: | Příkazy a démony, které jsou obvykle určeny pro práci s oprávněním root. |
Rutiny jádra: | Informace týkající se interního fungování jádra. Tato sekce je určena například pro programátory ovladačů zařízení a na většině systémů není nainstalována. |
Číslo za názvem příkazu odkazuje na popis tohoto příkazu v příslušné sekci manuálu. Například `man(1)` odkazuje na položku v první sekci, která popisuje příkaz „man“.
Na obrázku výše vidíte odkaz na `man(7)`. To znamená, že více informací o příkazu „man“ najdete v jiné sekci. Když jsme poprvé otevřeli manuálovou stránku, zobrazila se stránka `man(1)`. Pokud zadáte pouze `man` bez čísla sekce, příkaz „man“ prohledá všechny sekce v pořadí a hledá záznam pro daný příkaz. V tomto případě nejprve nalezl `man(1)`.
Pokud chcete, aby příkaz „man“ zobrazil záznam z konkrétní sekce, musíte na příkazovém řádku uvést číslo sekce.
Například, pro zobrazení záznamu pro příkaz „man“ v sekci sedm zadejte:
man 7 man
Tím se otevře manuálová stránka pro příkaz „man“ ze sedmé sekce.
Tato stránka obsahuje informace o psaní manuálových stránek. Popisuje formát souboru a makra, která můžete použít k automatizaci určitých úkolů. Stránka `man(1)`, kterou jsme si prohlédli dříve, popisovala samotné použití příkazu „man“.
Jak hledat položky v sekcích
Obvykle, pokud chcete pouze vědět, jak používat příkaz, nemusíte zadávat číslo sekce. Příkaz „man“ automaticky najde standardní záznam, který popisuje použití příkazu v první sekci manuálu. Nicméně, někdy potřebujete otevřít položku příkazu v určité sekci, protože hledáte jiné informace.
Můžete snadno zjistit, které sekce manuálu obsahují záznamy pro daný příkaz. Každá manuálová stránka má název a krátký popis. Volba `-f` (co je) vyhledá v názvech stránek a vrátí seznam nalezených shod.
Pro příklad zadejte:
man -f man
Zobrazí se dvě manuálové stránky pro příkaz „man“ s čísly sekcí a stručným popisem. Buďte však opatrní, některé položky mají stejný název, ale popisují různé příkazy a funkce.
Například zadejte:
man -f printf
Zdá se, že byly nalezeny dva záznamy pro příkaz „printf“: jeden v sekci jedna a druhý v sekci tři. Jedná se však o různé příkazy. Manuálová stránka v sekci jedna popisuje příkaz `printf` z příkazové řádky, který formátuje výstup v terminálu. Stránka v sekci tři popisuje knihovní funkci `printf` v programovacím jazyce C.
Je také možné vyhledávat v krátkých popiscích a názvech stránek. Pro tento účel použijte volbu `-k` (apropos). Tato volba také najde výskyty hledaného výrazu v jiných, delších slovech.
Zadejte:
man -k printf
Mnoho z těchto příkazů je popsáno ve stejných manuálových stránkách, protože jejich základní funkce je do značné míry totožná. Například manuál pro `vprintf` popisuje funkčnost 10 příkazů zobrazených na obrázku výše.
Tuto funkci můžete využít k vyhledávání informací souvisejících s tím, čeho se snažíte dosáhnout, i když neznáte přesný název příkazu, který potřebujete použít.
Řekněme, že chcete změnit heslo uživatelského účtu. Můžeme vyhledat všechny příkazy, které zmiňují slovo „user“ v názvu nebo popisu manuálové stránky. Poté pomocí příkazu `grep` můžeme hledat položky, které obsahují „password“.
Zadejte:
man -k 'user ' | grep password
Slovo „user“ jsme v uvozovkách a s mezerou na konci zadali, aby se našly jen výskyty slova „user“ a ne například „users“. Rychlý pohled na výsledky naznačuje, že pravděpodobný kandidát je příkaz `passwd`.
Jelikož existuje pouze jedna manuálová stránka pro `passwd`, nemusíme zadávat číslo sekce. Zadejte:
man passwd
Předpokládejme, že potřebujeme příkaz, který spočítá počet slov v textovém souboru. Zadáním následujícího můžeme zjistit, zda takový příkaz existuje:
man -k word | grep count
Pro zobrazení informací o počítání slov zadejte:
man wc
Když už mluvíme o příkazu `wc`, můžeme také použít volbu `-k` (apropos) s jednou tečkou (.) jako cílem vyhledávání, která odpovídá libovolnému textu. Pokud to spojíme s příkazem `wc` a použijeme volbu `-l` (řádky), zjistíme, kolik manuálových stránek je na našem počítači.
Zadejte:
man -k . | wc -l
Na tomto systému Ubuntu je 6706 manuálových stránek. Počet stránek na vašem počítači se může lišit v závislosti na nainstalovaných softwarových balíčcích.
Vyhledávání v manuálové stránce
V manuálové stránce můžete vyhledávat dopředu i dozadu od aktuální pozice.
Otevřete manuálovou stránku pro příkaz `history` zadáním:
man history
Pro vyhledávání dopředu stiskněte lomítko (/) a zadejte slovo „událost“. Hledaný výraz se zobrazí ve spodní části okna terminálu. Stisknutím klávesy Enter spustíte vyhledávání.
Zobrazí se první výskyt hledaného výrazu a bude zvýrazněn.
Stisknutím klávesy „n“ se přesunete k dalšímu výsledku směrem ke konci stránky. Pro vyhledávání dozadu v manuálové stránce stiskněte klávesu „N“. Tím se přesunete zpět na začátek stránky.
Pro zapnutí a vypnutí zvýraznění stiskněte Esc+U.
Pokud se nacházíte na konci manuálové stránky a chcete hledat směrem nahoru, stiskněte otazník (?) a zadejte hledaný výraz. V tomto případě jsme vyhledali „vstup“.
Všechny odpovídající výsledky jsou opět zvýrazněny.
Pro vyhledání dalšího výsledku stiskněte klávesu „n“ pro přesun na začátek manuálové stránky. Stisknutím klávesy „N“ přejdete na předchozí výsledek a přesunete se na konec stránky.
Existuje i jiný způsob, jak prohledávat manuálovou stránku. Skryjí se všechny řádky, které neodpovídají hledanému výrazu. Pro tuto techniku je nejlepší používat čísla řádků.
Zadejte `-N` a stiskněte klávesu Enter. Zobrazí se čísla řádků manuálové stránky.
Stiskněte ampersand (&), zadejte hledaný výraz (číslo) a stiskněte Enter.
Zobrazí se pouze řádky, které obsahují hledaný výraz.
Je snadné procházet tyto řádky a najít ty, které vypadají zajímavě. V tomto případě řádek 292 vypadá slibně. Chceme se na něj podívat.
Pro opětovné zobrazení všech řádků stiskněte ampersand (&) a stiskněte Enter.
Zadejte „292“ a poté „g“ pro přechod na tento řádek.
Po napsání „g“ se dostanete na řádek 292 (proto se „g“ na obrázku výše nezobrazuje). Řádek 292 se pak zobrazí v horní části okna terminálu.
Stiskem „-n“ a stisknutím klávesy Enter odstraníte čísla řádků.
Využijte potenciál manuálu
Manuálové stránky nabízejí obrovské množství informací. I u příkazů, které si myslíte, že dobře znáte, s jistotou najdete další možnosti, o kterých jste dříve neměli tušení.
Také objevíte příkazy, o kterých jste nevěděli. S takovým množstvím způsobů vyhledávání a navigace je skvělé mít všechny tyto informace na dosah ruky.