PSK3-5. Přesměrování vstupu a výstupu. Vstup a výstup

Podobné dokumenty
PSK3-9. Základy skriptování. Hlavička

FILTRY V GNU/LINUXU ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

PSK3-7. Plánované spouštění programů a správce sezení. Skupiny procesů

LINUX přesměrování a roury

PSK3-11. Instalace software a nastavení sítě. Instalace software

PSK3-3. Základní příkazy. Zápis cesty

Bottle -- příklad. Databáze. Testovací data. id Jedinečný identifikátor řádku: Bude typu INT s AUTO_INCREMENT a nastavíme ho jako primární klíč

Základní příkazy OS UNIX

PŘESMĚROVÁNÍ VÝSTUPU DO SOUBORU

PSK3-20. Malý poštovní server I. Instalace

Unix je víceuživatelský a víceúlohový OS

PSK1-9. Číslicové zpracování signálů. Číslicový signál

more Program se zastaví vždy po vypsání jedné stránky textu. Ukončení Ctrl+C less Umožňuje pohybovat se v souboru dopředu i dozadu.

Standardní vstupy a výstupy procesu filtry

Úvod do Operačních Systémů

PSK1-5. Frekvenční modulace. Úvod. Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka. Název školy: Vzdělávací oblast:

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

PŘÍKAZY OVLÁDÁNÍ SHELLU

BASH. Kouzla s příkazovou řádkou. Petr Koloros

Základy PERLu snadno a rychle

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Střední odborná škola a Střední odborné učiliště, Hořovice

Západočeská univerzita v Plzni. Správce virtuálních strojů

PSK1-11. Komunikace pomocí optických vláken II. Mnohavidová optická vlákna a vidová disperze. 60μm 80μm. ϕ = 250μm

DUM 15 téma: Další příkazy příkazové řádky

PSK2-16. Šifrování a elektronický podpis I

SQL a XML jako alternativa ke klasickým unixovým nástrojům

PSK1-10. Komunikace pomocí optických vláken I. Úvodem... SiO 2. Název školy:

Práce se soubory. Základy programování 2 Tomáš Kühr

PROGRAMOVÁNÍ V SHELLU

Úvod do UNIXu. Jirka Boháč Gymnázium Jaroslava Seiferta 2003/2004

Střední odborná škola a Střední odborné učiliště, Hořovice

Programování v Pythonu

Roury a zprávy Mgr. Josef Horálek

Základní příkazy UNIXu (Linuxu)

Střední odborná škola a Střední odborné učiliště, Hořovice

Google Apps. kontakty 1. verze 2012

Tematická oblast: Základy práce na PC (VY_32_INOVACE_10_1_AP) Anotace: Využití ve výuce: Autor: Ing. Jan Roubíček Vytvořeno: červenec až říjen 2013

Programování v Pythonu

Úvod do Linuxu. SŠSI Tábor 1

Správce virtuálních strojů

PSK2-5. Kanálové kódování. Chyby

Pro všechny příkazy jsou k dispozici podrobné manuálové stránky, proto zde. find adresář -name "maska_souboru" [-print] [-exec proces {} \;]

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Operační systémy. Cvičení 1: Seznámení s prostředím

PSK1-15. Metalické vedení. Úvod

PSK3-4. Přístupová práva. setfacl z balíčku acl.)

FORTANNS. 22. února 2010

Výběr a instalace mobilního terminálu. II. Používání čárových kódů v katalogu položek. III. Tisk etiket s čárovými kódy

Pracovní list VY_32_INOVACE_33_15 Databáze Databáze Databáze Test Ing. Petr Vilímek

Operační systémy 2: Zápočtové úkoly

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

PSK1-20. Antény. Elementární dipól. Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Druhy antén a jejich vlastnosti

C2110 Operační systém UNIX a základy programování

SVOBODNÝ SOFTWARE ZLÍNSKÝ KRAJ

Informační a komunikační technologie Inovace výuky prostřednictvím šablon pro SŠ

- program = vykonatelný soubor - proces = jedna instance vykonávaného programu

Řešení pro audit činnosti administrátorů UNIX/Linux serverů

Střední odborná škola a Střední odborné učiliště, Hořovice

Domácí příprava k předmětu YD38UOS Úloha 10 práce s lokálními soubory pokračování

Modul Statistika poskytuje přehled o počtu studentů na fakultách, v jednotlivých programech, oborech, apod.

Algoritmus. Algoritmus je posloupnost kroků, které jsou potřeba k vyřešení problému.

Úvod do Operačních Systémů

Instalace Dosemu na Linux Ubuntu 12.04

Jemny u vod do operacˇnı ho syste mu Linux

Velmi stručný návod jak dostat data z Terminálu Bloomberg do R

Střední odborná škola a Střední odborné učiliště, Hořovice

Nastroje na zpracovani textu:

Registrační číslo projektu: Škola adresa:

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Popis výukového materiálu Soubory, typy souborů, komprimace

SNAPARC Stahování archivů z řídicích stanic

DUM 20 téma: Test dávky

Ošetřování chyb v programech

Stručný návod k programu Octave

DUM 11 téma: Úvod do příkazové řádky

Střední odborná škola a Střední odborné učiliště, Hořovice

Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

VISUAL BASIC. Práce se soubory

Informatika základní pojmy

Střední odborná škola a Střední odborné učiliště, Hořovice

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

Jednoduchý návod k použití programu Vinotéka 2006, v 2.0

Příkazová řádka. predn_02.odt :55:55 1

Linux Teorie operačních systémů a realita

Automatické sněhoměrné zařízení

Střední odborná škola a Střední odborné učiliště, Hořovice

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

VKLÁDÁNÍ OBJEKTŮ - tabulka

Základy IOS, Přepínače: Spanning Tree

Co vás čeká. Osvojení si základy analytického myšlení při psaní algoritmů pomocí jazyka Python.

Úvod, jednoduché příkazy

Raspberry Pi - security system

Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Lekce 25 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Práce se soubory. Úvod do programování 2 Tomáš Kühr

ON-LINE PORADA PRO TEST

Paralelní výpočty na clusteru KMD

Google Apps. pošta 4. verze 2012

Transkript:

PSK3-5 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Standardní vstup, výstup a jejich přesměrování Vzdělávací oblast: Informační a komunikační technologie Předmět: Počítačové sítě a komunikační technika (PSK) Tematická oblast: Operační systém Linux/Unix Výsledky vzdělávání: Klíčová slova: Druh učebního materiálu: Typ vzdělávání: Ověřeno: Zdroj: Žák přesměrovává vstupy/výstupy z/do souboru, používá roury Linux, Unix, shell, roura, pipe, stdin, stdout, stderr Online vzdělávací materiál Střední vzdělávání, 4. ročník, technické lyceum VOŠ a SPŠE Olomouc; Třída: 4L Vlastní poznámky, Vilém Vychodil: Linux Příručka českého uživatele Přesměrování vstupu a výstupu Vstup a výstup Jedním ze základních stavebních kamenů operačního sytému Unix je následující přístup: Každý program se chová jako filter. Vždy se předpokládá, že výstup jednoho programu se může stát vstupem druhého programu. Univerzálním komunikačním rozhraním je text. 1

V Unixu má každý proces (program) standardní vstup stdin, standardní výstup stdout a standardní chybový výstup stderr. Vstup standardně čte z klávesnice vždy, když uživatel stiskne klávesu Enter. Výstup a chybový výstup se během běhu programu vypisuje na terminál, tedy na obrazovku. $ wc Mily studente, dnes se ucime o OS Unix Hezky den ^D >>>> 4 10 50 Například program wc čte text zadaný z klávesnice a po jeho ukončení (klávesová zkratka Ctrl+D vkládá znak konce souboru) vypíše počet znaků, slov a řádků. Všechny programy ale nutně nemusí stdin používat. Například program ls, který vypisuje obsah adresáře žádný standardní vstup nečte. Přesměrování výstupu do souboru Výstup každého programu je možné přesměrovat do souboru pomocí metaznaku >: >SOUBOR >>SOUBOR 2>SOUBOR standardní výstup je přesměrován do souboru standardní výstup je připojen na konec souboru standardní chybový výstup je přesměrován do souboru 2>>SOUBOR standardní chybový výstup je připojen na konec souboru &>SOUBOR Například: oba standardní výstupy jsou přesměrovány do souboru $ ls. blah >>>>ls: nelze přistoupit k blah: Adresář nebo soubor neexistuje >>>>.: >>>>index.pl inout.ditaa inout.png Program vypíše obsah aktuálního adresáře a adresáře blah. Protože ale adresář blah neexistuje program vypíše na chybový výstup chybové hlášení. 2

Nyní výstup přesměrujeme do souboru obsah.txt. Chybové hlášení je stále vidět na terminálu (obrazovce), ale výpis adresáře se provedl do souboru: $ ls. blah >obsah.txt >>>>ls: nelze přistoupit k blah: Adresář nebo soubor neexistuje Jestliže přesměrujeme do souboru pouze chybový výstup, situace se otočí: $ ls. blah 2>chyba.txt >>>>.: >>>>index.pl inout.ditaa inout.png Obsah souboru můžeme vypsat pomocí příkazu cat: $ cat obsah.txt chyba.txt >>>>.: >>>>index.pl >>>>inout.ditaa >>>>inout.png >>>>obsah.txt >>>>/bin/ls: nelze přistoupit k blah: Adresář nebo soubor neexistuje Při přesměrování lze místo jména SOUBORu použít souborový deskriptor. Ten se zadává ve formátu &CISLO, kde CISLO označuje deskriptor. 3

deskriptor význam 0 standardní vstup 1 standardní výstup 2 standardní chybový výstup Příkaz: $ ls. blah >>vystup.txt 2>&1 Přesměruje standardní výstup na konec souboru a zároveň přesměruje chybový výstup na standardní výstup, takže se v souboru vystup.txt objeví stdout(1) i stderr(2). Přesměrování vstupu ze souboru Vstup programu lze přesměrovat pomocí metaznaku <. Proces (program) potom nebude číst vstupní data z klávesnice ale ze souboru. Jako příklad si uvedeme krátký program v jazyce Python, který provede součet všech čísel zadaných na vstup. 1 #!/usr/bin/python 2 # -*- coding: utf8 -*- 3 # Soubor: soucet.py 4 # Licence: GNU/GPL 5 # Popis: Program provede součet všech čísel, které přečte z stdin 6 ############################################################################ 7 import sys 8 from sys import stdin, stdout, stderr 9 ############################################################################ 10 soucet=0 11 while True: 12 try: 13 line = raw_input() 14 cisla = line.split() 15 for c in cisla: 16 c=float(c) 17 soucet+=c 18 except EOFError: 19 print soucet 20 exit(0) 21 except KeyboardInterrupt: 22 stderr.write("program prerusen uzivatelem\n") 23 exit(1) 24 except: 25 stderr.write("error: '{}' neni cislo\n".format(c)) 26 exit(2) `--> stáhnout 4

./soucet.py 1 2 3 4 5 >>>>15.0 Čísla, která se mají sečíst můžeme zapsat do souboru sectito.txt: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 `--> stáhnout Potom stačí jednoduše zavolat:./soucet.py <sectito.txt >>>>5050.0 Roury Často je velice užitečné spojit dva programy a výstup jednoho přesměrovat na vstup druhého. Slouží k tomu mechanizmus, který se označuje jako roura (pipe). Pro zřetězení několika programů pomocí roury se používá metaznak. ls *.txt wc -l >>>> 15 Výstup programu ls je přesměrován na vstup programu wc, který počítá řádky. Výsledkem je tedy počet souborů s příponou.txt. Takto lze spojovat do kolony i více programů. Například: ls -l *.png cut -d ' ' -f 5,10 sort -n >>>>3674 roura.png >>>>3842 wc.png >>>>5091 oba.png >>>>5123 blah.png >>>>5909 obsah.png >>>>5947 chyba.png >>>>6417 inout.png 5

Program ls podrobně vypíše soubory s příponou.png, program cut vybere z výpisu jen dva sloupce a program sort je seřadí podle velikosti. Rouru není možné použít vždy. Je to například pokud spolu chtějí komunikovat dva procesy, které spouští vždy jiný uživatel. V těchto případech je možné použít pojmenovanou rouru. Tu je třeba nejprve vytvořit a poté je možné s ní pracovat jako by to byl soubor. $ mkfifo /tmp/mojetrubka $ chmod a+r /tmp/mojetrubka $ ls -l *.png cut -d ' ' -f 5,10 >/tmp/mojetrubka Jiný uživatel potom může z roury číst $ sort -n </tmp/mojetrubka 6