abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:22 | Komunita

    O víkendu probíhá v Bruselu konference FOSDEM 2026 (Free and Open source Software Developers’ European Meeting). Program konference je velice nabitý: 37 místností, 71 tracků, 1184 přednášejících, 1069 přednášek, prezentací a workshopů. Sledovat je lze i online. K dispozici budou jejich videozáznamy. Aktuální dění lze sledovat na sociálních sítích.

    Ladislav Hagara | Komentářů: 1
    včera 18:00 | IT novinky

    Společnost Nex Computer stojící za "notebooky bez procesorů a pamětí" NexDock představila telefon NexPhone, který může funguje jako desktop PC, stačí k němu připojit monitor, klávesnici a myš nebo NexDock. Telefon by měl být k dispozici ve třetím čtvrtletí letošního roku. Jeho cena by měla být 549 dolarů. Předobjednat jej lze s vratní zálohou 199 dolarů. V dual-bootu by měl být předinstalovaný Android s Linuxem (Debian) jako aplikací a Windows 11.

    Ladislav Hagara | Komentářů: 3
    včera 16:00 | Nová verze

    Byla vydána nová major verze 9.0 softwaru pro správu elektronických knih Calibre (Wikipedie). Přehled novinek v poznámkách k vydání. Vypíchnuta je podpora AI.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Nová verze

    Wasmer byl vydán ve verzi 7.0. Jedná se o běhové prostředí pro programy ve WebAssembly. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Zajímavý software

    V reakci na nepopulární plán Microsoftu ještě více ve Windows prohloubit integraci umělé inteligence Copilot, Opera na sociální síti 𝕏 oznámila, že připravuje nativní linuxovou verzi prohlížeče Opera GX. Jedná se o internetový prohlížeč zaměřený pro hráče, přičemž obsahuje všechny základní funkce běžného prohlížeče Opera. Kromě integrace sociálních sítí prohlížeč například disponuje 'omezovačem', který umožňuje uživatelům omezit využití sítě, procesoru a paměti prohlížečem, aby se tak šetřily systémové zdroje pro jinou aktivitu.

    NUKE GAZA! 🎆 | Komentářů: 8
    včera 06:22 | Zajímavý software

    NVIDIA vydala nativního klienta své cloudové herní služby GeForce NOW pro Linux. Zatím v beta verzi.

    Ladislav Hagara | Komentářů: 6
    včera 04:33 | Zajímavý projekt

    Open Gaming Collective (OGC) si klade za cíl sdružit všechny klíčové projekty v oblasti linuxového hraní počítačových her. Zakládajícími členy jsou Universal Blue a Bazzite, ASUS Linux, ShadowBlip, PikaOS a Fyra Labs. Strategickými partnery a klíčovými přispěvateli ChimeraOS, Nobara, Playtron a další. Cílem je centralizovat úsilí, takže namísto toho, aby každá distribuce udržovala samostatné opravy systému a podporu hardwaru na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 04:11 | Bezpečnostní upozornění

    V kryptografické knihovně OpenSSL bylo nalezeno 12 zranitelností. Opraveny jsou v upstream verzích OpenSSL 3.6.1, 3.5.5, 3.4.4, 3.3.6 a 3.0.19. Zranitelnosti objevila společnost AISLE pomocí svého autonomního analyzátoru.

    Ladislav Hagara | Komentářů: 1
    29.1. 20:11 | Zajímavý software

    Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.

    Ladislav Hagara | Komentářů: 6
    29.1. 19:11 | Komunita

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (24%)
     (3%)
     (5%)
     (2%)
     (12%)
     (32%)
    Celkem 684 hlasů
     Komentářů: 22, poslední 29.1. 23:06
    Rozcestník

    Standardní vstup a výstup

    Standardní vstup (neboli stdin) je místo, ze kterého programy berou data a standardní výstup (stdout) je místo, kam je vypisují. Příkaz cat bez parametrů nedělá nic jiného, než že čte data ze standardního vstupu a vypisuje je na standardní výstup. Zkuste v konzoli napsat cat a stisknout enter. Poté napište jakoukoliv větu a po stisku enteru se vám zobrazí na obrazovce. Ukončíte stiskem Ctrl+D.

    $cat
    Standardní vstup je připojen na klávesnici
    Standardní vstup je připojen na klávesnici
    Standardní výstup je připojen na monitor
    Standardní výstup je připojen na monitor
    
    Na výpisu programu vidíte, že standardním vstupem je vaše klávesnice a standardním výstupem je obrazovka monitoru. Ale ne vždy tomu tak musí být. Programy, které se takto chovají, nazýváme filtry, protože nejčastěji slouží k úpravám a filtracím textů.

    Standardní chybový výstup

    Mimo tyto dva existuje ještě chybový výstup (stderr), do něhož jsou vypisovány chybová hlášení. I on je standardně vypisován na monitor. Smysl jeho existence je ve snadném oddělení užitečného výstupu programu od chybových hlášení, či varování.

    Přesměrování a roury

    Ne vždy musí být standartním vstupem klávesnice a výstupem obrazovka – to díky přesměrování. Předpokládejme, že máme soubor foo a v něm nějaký text. Příkaz cat nečte jen ze standardního vstupu, ale dokáže přečíst vstupní soubor(y) a ty pak zobrazit na standardní výstup.

    $ cat foo
    stdin
    stdout
    stderr
    $ cat foo > bar
    
    Počkat, když jsme napsali > bar, tak se nic nezobrazilo! A to proto, že znak > říká shellu, aby standardní výstup nevytiskl na monitor, ale zapsal do souboru. Jinými slovy jej přesměroval. Když napíšete cat bar, zobrazí se stejný obsah, jako je v souboru foo.

    Znak > (respektive 1>) přesměruje standardní výstup do souboru. Znak 2> přesměruje standardní chybový výstup do souboru a &> přesměruje oba dva proudy do stejného souboru. Podobně < umožňuje přesměrovat obsah souboru na standardní vstup. Dvojité >> pak místo přepsání souboru přídává data na jeho konec.

    Shell neumožňuje rovnou přesměrovat oba výstupní proudy na konec jednoho souboru - v takovém případě je nutné pomoci si následujícím trikem: přesměrujeme standardní chybový výstup do standardního výstupu a ten poté připojíme na konec souboru - tedy (všimněte si ampersandu před připojením na standardní výstup - bez něj by byl vytvořen soubor se jménem 1):

    $ příkaz >>výstupní-soubor 2>&1
    

    Vstup z těla skriptu

    Posledním typem přesměrování je přesměrování <<ZNACKA, pomocí kterého shellu řekneme, že standardní vstup má očekávat v těle skriptu - ihned za uvedeným příkazem; a má jej číst dokud nenarazí na řádek obsahující pouze slovo ZNACKA. Myslím, že příklad vše vyjasní:

    #!/bin/bash
    # neco se provadi
    cat - <<EOF_ZPRAVA
    Gratuluji, skript probehl uspesne.
    Pokud chcete videt podrobnejsi vypis jeho cinnosti,
    podivejte se do souboru ${PWD}/zaznam.log
    EOF_ZPRAVA

    Všimněte si, že v textu, který posíláme na standardní vstup je prováděna expanze proměnných - pokud bychom ji chtěli potlačit, stačí uvést příslušnou značku do uvozovek. Pokud se zdá, že výše uvedený příkaz by byl stejně přehledný pomocí několika volání echo, tak to je správně, ale pokud by šlo o delší text (např. nápověda k použití), je úspora času a práce výrazná.

    Toto přesměrování využijeme především ve skriptech, protože nám vlastně umožňuje mít text více souborů v jediném skriptu. Pokud např. skript generuje jiný skript (což je v na *nix systémech poměrně běžná (a dokonce i tradiční) záležitost) nebo konfigurační soubor, můžeme generovaný soubor vytvářet právě pomocí tohoto přesměrování, takže (mimo jiné) nemusíme kontrolovat, jestli opravdu soubor se šablonou, do které bychom data vkládali, existuje a navíc máme všechna data pěkně pohromadě.

    Roury

    Zatímco teď jsme přesměrovávali výstup do souboru, roury přesměrovávají výstup na standardní vstup jiného programu. Roury způsobují, že je používání shellu tak mocné, protože umožňují kombinovat více filtrů do jedné kolony. Dejme tomu, že máme seznam jmen v souboru lide.txt, který chceme setřídit podle abecedy, vyřadit duplicity a zobrazit prvních 10 lidí.

    $ sort -u lide.txt | head
    
    Program sort setřídí seznam lidí a s parametrem -u také data zbaví duplicit. Sort předá data dál a příkaz head vytiskne prvních deset řádků. Někteří lidé to přirovnávají k lidské řeči. Máme spoustu slov (příkazů), které samy o sobě označují (vykonávají) pouze jednu činnost. Ale díky tomu, že je můžeme kombinovat do vět (kolon), můžeme pomocí těch jednoduchých slov (příkazů) vyjádřit složitější myšlenky (provádět složitější činnost).

    Např. máme soubor se seznamem slov (co slovo, to řádek) a chceme zjistit nejčetnější slovo (a jeho četnost) - pomocí roury je vyřešení (byť jednoduchého) problému velmi snadné:

    $ sort slova.txt | uniq -c | sort -n -r | head -n 1

    Vysvětlení: slova nejdříve setřídíme a programem uniq vyházíme stejná slova, parametr -c zajistí, že program připíše, kolikrát se které slovo ve vstupu vyskytovalo (proto musíme slova setřídit, protože uniq si pamatuje pouze zpracovávanou a minulou řádku). Takto získaná data znovu setřídíme - tentokrát ale sestupně (-r) a jako čísla (-n), protože uniq přidává počet na začátek řádku. A programem head vypíšeme pouze první řádku (-n 1). A je to!

    Hrátky s přesměrováním

    Možná jste už slyšeli o adresáři /dev. Pokud ne, tak vězte, že v tomto adresáři se schovávají různá reálná (/dev/hda) i nereálná (/dev/random) zařízení (přesněji, jejich souborové reprezentace). Ty, které se používají k přesměrování si popíšeme:

    Dokument vytvořil: vladka, 29.8.2005 12:01 | Poslední úprava: Robert Krátký, 31.1.2008 19:37 | Další přispěvatelé: Vojtěch Horký, David Watzke | Historie změn | Zobrazeno: 48345×

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.