|
Linux - příkazový řádekDominik Janků - Software - 30. 11. 2006 - 13689 přečtení![]() Příkazová řádka je jakýsi most mezi uživatelem a linuxovým jádrem. Umožňuje nám spouštět programy, psát skripty, komunikovat s jádrem... To vše se skrývá za onou, pro mnohé fádní, command linou. My si dnes však ukážeme, že i taková příkazová řádka může být nesmírně užitečný a rychlý nástroj, který nám usnadní práci se systémem. Nuže, pusťme se do toho... Historie UNIXové příkazové řádky je stará jako počítače samotné. Dávno před érou PC běžely na nejrůznějších platformách různé klony unixových systémů. Svoji oblibu získaly především pro svou rychlost, stabilitu a vyzrálost. Tuto vyzrálost objevíme i na naší linuxové stanici.
Předpokládejme tedy, že máte přístup k bashi a na obrazovce Vám bliká výzva k zadávání příkazů. Dříve, než se vrhneme na roury a přesměrování, začneme jednochými a možná i zábavnými přikazy. Pro zjístění Vašeho operačního systému zkuste napsat uname a stiskněte enter. Pokud jste tam, kde jste, mělo by se Vám vypsat mýtické slovo Linux. Pro výpis všech základních informací zkuste zadat uname -a. Přepínač -a říká něco jako all. Nyní zkuste zadat df -h, no vida! Už víme kolik místa máme na disku. Nyní se ale vrhněme na ony slibované roury a přesměrování. Abychom to zvládli, musíme si říct, že v linuxovém prostředí existují 3 základní virtuální soubory, které má otevřen každý program. Jsou to soubory reprezentující standartní výstup (stdout), standartní vstup (stdin) a standartní chybový výstup (stderr). Všechny jsou také označeny čísly počínaje nulou (pro stdin, 1 - stdout a 2 - stderr). Proč se o tom zmiňuji? Protože nyní nebudeme dělat nic jiného, než že si budeme hrát s oněmi vstupy a výstupy. Přesměrování vstupů a výstupů Představme si případ, kdy budeme chtít přeměrovat výstup nějaké aplikace do souboru, napříkad výpis adresáře do vypis.txt: ls > vypis.txt V tomto případě jsme použili operátor > pro přesměrování standartního výstupu. Jestli bychom naopak chtěli změnit standartní vstup (místo výchozí klávesnice), použili bychom operátor <. Přesměrování standartního chybového výstupu můžeme realizovat pomocí operátoru 2>. Zkuste například smazat neexistující soubor pomocí příkazu rm. Vypíše se Vám chybová hláška, která poukazuje na to, že daný soubor neexistuje. Nyní si zkuste přesměrovat chybový výstup do souboru chyba.txt: rm soubor 2> chyba.txt Možná narazíte i na situaci, kdy si nebudete přát cokoli vypisovat na obrazovku. V takovém případě přesměrujeme standartní výstup a standartní chybový výstup do souboru pomocí již zmíněných operátorů: aplikace 1> stdout.txt 2> stderr.txt Jak prosté, že?
Roury Pod termínem roura si můžeme představit propojení dvou a více programů, které si předávají data. Vzpomeňme si na časy kdy jsme hrávali na tichou poštu, při ní se jedna informace předávala dál a dál, přičemž se občas stalo, že ji někdo pozměnil (byť neúmyslně). Podobně to funguje i při použivání rour, ačkoliv zde je pozměnění dat žádoucí. Vezměmě si předchozí příklad výpisu souborů a přidejme k němu požadavek na setřízení seznamu podle konce abecedy: ls | sort -r > vypis.txt Operátorem roury je | (tento znak bývá umístěn pod klávesou Backspace). Program tedy vypíše seznam souborů, tento seznam předá programu sort (parametr -r je zde kvůli inverznímu třídění) a tomuto programu přesměrujeme výstup do souboru vypis.txt. Nemusíme se však omezovat pouze na jednu rouru. Můžeme vytvořit celý řetězec propojených programů. Tomuto řešení se obecně říká, že postávíme kolonu rour. Opět následuje praktická ukázka. Nechť soubor vety.txt obsahuje řádky s různými větami. My budeme chtít zobrazit jen ty věty, ve kterých se vyskytuje slovo "ale", tyto věty pak dále seřadíme podle abecedy a omezíme výpis na posledních 5 vět. Výsledek operace přesměrujeme do souboru vysledek.txt. Zde je řešení: cat vety.txt | grep -i ale | sort | tail -n 5 > vysledek.txt Jen pro úplnost doplním, že příkaz grep zobrazí pouze řádky obsahující slovo "ale" (nehledí se na velikost písmen [-i]). Sort je pak setřídí a tail -n vypíše posledních 5 řádků. Sexy příkaz, který demonstruje možnosti kolon. Závěr Snad jste se dozvěděli dalších pár poznatků ze světa Unixo-linuxového. Vězte, že nic dalšího v tomto díle nenajdete :) Na další zábavu se však můžete těšit v některém z dalších pokračování, ve kterém by jsme se porozhlédli po nápovědě (manuálové stránky) a příkazech pro správu účtů a hesel. Nashledanou u dalšího pokračování!
Související články: Proč Ubuntu? (19.07.2009) Linux - příkazový řádek, díl 2. (14.10.2007) Proč se Linux nikdy nestane majoritou na desktopu (03.12.2006) Nebojme se Linux (14.10.2006) Linux - adresářová struktura (01.08.2006) Linux - oddíly a souborové systémy (07.07.2006) Linux - perspektivní operační systém (07.06.2006) Pro ohodnocení článku musíte být registrovaným čtenářem [Akt. známka: 0 / Počet hlasů: 0] ![]() ![]() Výpis komentářů:
|
|
|
|
(c) Postřeh team 2001 - 2009 postaveno na českém opensource redakčním systému phpRS |
|