Triky pro začátečníky (2)

Leoš Literák 20. 7. 2000

V dnešním díle budeme pokračovat prací v shellu - přesněji v jeho nejpoužívanější variantě bashi. Ovšem většina tipů by měla fungovat i v ostatních shellech, jako je například ksh nebo csh. Pokud ne, tak se podívejte do jejich manuálových stránek (man ksh).

Podívejme se nejdříve na expanzi parametrů. Představte si, že hledáte nějaký soubor ve svém domovském adresáři. Nevzpomínáte si přesně na jeho název, ale pamatujete si, že začínal písmenem a. Pro jednoduchost zapomeňme na existenci příkazu find, který by zkušenějším uživatelům značně ulehčil práci. Výpis všech souborů v aktuálním adresáři získáme použitím příkazu ls. Jenže nás zajímají soubory začínající písmenem a. Jak na to? Jednoduše. Napíšeme příkaz ls a* a je to. Hvězdička totiž zastupuje libovolný řetězec a to i nulové délky. Takže výraz a* zachytí slova a, , ahojabrakadabra.

Abyste si vše mohli krásně procvičit, vytvoříme si testovací soubory. Nejdříve si otevřete nějaký terminál. V něm napište mkdir test. Takto jste si vytvořili adresář test. Pak do něj vejděte příkazem cd test. Nyní vytvořte testovací soubory příkazem touch alena anketa adresy binary.xpm bitmapa.tgz eva.txt. Příkaz touch mění údaj o posledním přístupu na zvolený soubor a pokud tento soubor neexistuje, vytvoří jej.

Hvězdička ale nemusí být jen na konci výrazu. Může se vyskytovat kdekoliv a nic nám nebrání ji použít vícekrát. Příkaz ls e nám zobrazí soubory adresy alena anketa eva.txt. U prvního souboru první hvězdička zachytí al, e jsme určili explicitně a na je zachyceno druhou hvězdičkou. Podobně u zbylých souborů. Snad vás může zarazit eva.txt, ale u tohoto souboru si vzpomeňte, že hvězdička nahrazuje i řetězec o nulové délce.

Dalším zástupným znakem je otazník. Ten vám nahradí libovolný jeden znak. Takže pokud nevíte, zda hledáte Alenu či Ilonu, zkuste příkaz ls ?l?na. Hned budete vědět, s kým jste to měli čest se seznámit :-). Možná trochu reálnější případ: už jste si určitě všimli, že Linux (stejně jako všechny ostatní Unixy) rozlišuje malá a velká písmenka. Takže Alena a alena jsou dva rozdílné soubory. Pokud tedy víte, že hledáte Alenu a nejste si jisti, jaké počáteční písmenko jste použili, zkuste příkaz ls ?lena.

Dalším trikem jsou hranaté závorky. Ty mají podobný význam jako otazník. Oba nahrazují pouze jediné písmeno. Jenže otazník si nevybíral a zastupoval všechny znaky, kdežto závorky zastupují jediný znak ze seznamu písmen, která jste uzavřeli do hranatých závorek. Například ls [ae]* vám zobrazí všechny soubory začínající písmeny a nebo e. Jasné? Někdy by bylo moc dlouhé vypisovat všechna písmena, která chcete použít. Pokud tato písmena (nebo aspoň jejich části) tvoří posloupnost, můžeme si ulehčit psaní (a zpřehlednit příkaz) použitím pomlčky. Napíšeme první znak, za něj ihned pomlčku a nakonec umístíme poslední znak řady. Takže [a-e] je totéž jako [abcde]. Vyzkoušejte si to třeba na příkazu ls [a-e]*. A mimochodem, pokud potřebujete použít pomlčku jako obyčejný znak, dejte ji na začátek nebo konec seznamu.

Dejme tomu, že chcete zobrazit všechny soubory, které nemají na začátku svého názvu písmeno a. Opravdu se vám chce vypisovat všechny možnosti? Mě ne. Raději použiji tento příkaz: ls [^a]*. Znak stříšky na začátku seznamu totiž působí jako negace výrazu. Takže ^a znamená libovolný znak kromě písmene a.

Velice užitečným zástupným znakem je i tilda, pokud ji umístíme na začátek výrazu. Obecně se totiž stará o cestu k uživatelským domovským adresářům. Pokud je použita samostatně a nenásleduje za ní text (kromě lomítek), má význam vašeho domovského adresáře. Viz ls ~, který vám vypíše obsah vašeho domovského adresáře. Pokud ale hned za tildu umístíte přihlašovací jméno některého vašeho kolegy, výraz se vám expanduje do cesty k jeho domovskému adresáři. Například ~literakl. Tento trik se vám bude hodit, když budete potřebovat něco zkopírovat z/do vašeho adresáře, zatímco jste někde hluboko na vašem disku. Ať jste kdekoliv, příkaz cp *.png ~/temp zkopíruje všechny obrázky typu PNG do adresáře temp ve vašem domovském adresáři.

Přesměrování standardního vstupu a výstupu si necháme na příště, raději přeskočím ke slíbené virtuální konzoli. Pokud sedíte fyzicky u počítače s Linuxem, máte k dispozici několik konzolí, na kterých můžete pracovat. Nebudu se snažit vysvětlit, co to konzole je a místo toho vám ukážu, jak s ní pracovat. Pokud nepoužíváte Calderu či Corel Linux, určitě jste si všimli, že během startu vám naskakuje spousta řádek s informacemi. Právě toto je konzole číslo jedna. Až se Linux celý nabootuje, pak se buď přepne do grafického režimu a nebo se vám objeví výzva k přihlášení. Pokud jste v grafickém systému XWindow, na konzoli se dostanete současným stiskem kláves Control, Alt a F1.

widgety

Nyní se přihlašte a začněte něco dělat. Třeba si vypište obsah domovského adresáře. Teď vás ale napadne, že chcete dělat něco úplně jiného, jenže nechcete přijít o rozdělanou práci. Pod dosem byste měli smůlu a museli byste si vybrat. Ne tak pod Linuxem. Prostě stiskněte Alt a F2. A máte k dispozici další konzoli, kde můžete začít pracovat znovu nezávisle na ostatních konzolích. Prostě Linux je ideální pro nás roztěkané :-). Takových konzolí (virtuálních přístupových bodů k počítači) je v Linuxu obvykle šest až osm, přičemž poslední slouží pro grafický režim. Přepíná se mezi nimi pomocí kláves Alt a FX, kde X je pořadové číslo virtuální konzole. Druhou možností je je současný stisk klávesy Alt a šipky doleva či doprava. Pokud se chcete vrátit zpátky do X Window Systému, zkuste Alt a F7. Pokud to nepomohlo, buď jste ty Xy ještě nespustili nebo jsou umístěny na jiné pozici a pak nezbývá než použít metodu pokusu a omylu. Pokud chcete naopak přepnou z Xkek na jinou konzoli, použijte Control Alt Fx.

To je prozatím vše, příště si povíme něco o použití prostředního tlačítka myši :-).

Ohodnoťte jako ve škole:

Průměrná známka 3,58

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Vitalia.cz: Zkontrolujte si kvalitu vody ve studních

Zkontrolujte si kvalitu vody ve studních

Vitalia.cz: Podmínky pro dárcovství kostní dřeně

Podmínky pro dárcovství kostní dřeně

Vitalia.cz: Očkování a autismus ve světle vědeckého objevu

Očkování a autismus ve světle vědeckého objevu

Lupa.cz: V Brně vyvinuli rychlý internet do letadel

V Brně vyvinuli rychlý internet do letadel

120na80.cz: Superpotraviny. Jaké to jsou?

Superpotraviny. Jaké to jsou?

Podnikatel.cz: Poděs, Slibotechna a další. Ty berte obloukem

Poděs, Slibotechna a další. Ty berte obloukem

DigiZone.cz: DVB-T2 à la Nova: „zadarmo“ bude jen ČT

DVB-T2 à la Nova: „zadarmo“ bude jen ČT

Root.cz: Microsoft přidal Ubuntu do Windows 10

Microsoft přidal Ubuntu do Windows 10

Podnikatel.cz: Když si reklamou "zabíjíte" zákazníky

Když si reklamou "zabíjíte" zákazníky

Vitalia.cz: Asijský LI-WU vařil z prošlého masa

Asijský LI-WU vařil z prošlého masa

120na80.cz: Chtějí být jako Ken a Barbie. Končí jako trosky

Chtějí být jako Ken a Barbie. Končí jako trosky

Vitalia.cz: Na přebytek bílkovin nemáme játra ani ledviny

Na přebytek bílkovin nemáme játra ani ledviny

Vitalia.cz: Prodají farmáři svoji duši?

Prodají farmáři svoji duši?

Vitalia.cz: 7 situací, kdy ženy škodí svým ňadrům

7 situací, kdy ženy škodí svým ňadrům

Vitalia.cz: Proč jsou po vyřazení lepku zdravější?

Proč jsou po vyřazení lepku zdravější?

120na80.cz: Konopí: každá rostlina je jinak účinná

Konopí: každá rostlina je jinak účinná

120na80.cz: Pánové, odřené bradavky při běhu nejsou nutné

Pánové, odřené bradavky při běhu nejsou nutné

Vitalia.cz: Nejvíce vín a dobrot na jednom místě

Nejvíce vín a dobrot na jednom místě

Podnikatel.cz: Marodí méně, ale když už, tak skoro 40 dnů

Marodí méně, ale když už, tak skoro 40 dnů

Vitalia.cz: Maurer: Nechci Jamieho Olivera za pět miliónů

Maurer: Nechci Jamieho Olivera za pět miliónů

Ušetřete