Stdin: Difference between revisions
Line 5: | Line 5: | ||
== Standardvood == | == Standardvood == | ||
[[File:stdstreams.png|thumb|right|Joonis 1. The standard streams for input, output, and error. Allikas: https://en.wikipedia.org/wiki/Standard_streams]]Linuxis ja teistes Unix-i laadsetes süsteemides on kasutusel standardvood. Iga protsess käivitatakse automaatselt koos kolme andmevooga: sisendvoog stdin ja väljundvoog [[Stdout|stdout]] (standard output) ja veavoog [[Stderr|stderr]] (standard error). Need vood kujutavad endast spetsiaalset tüüpi faili ja võivad sisaldada ''plain text'' andmeid.<ref> | [[File:stdstreams.png|thumb|right|Joonis 1. The standard streams for input, output, and error. Allikas: https://en.wikipedia.org/wiki/Standard_streams]]Linuxis ja teistes Unix-i laadsetes süsteemides on kasutusel standardvood. Iga protsess käivitatakse automaatselt koos kolme andmevooga: sisendvoog stdin ja väljundvoog [[Stdout|stdout]] (standard output) ja veavoog [[Stderr|stderr]] (standard error). Need vood kujutavad endast spetsiaalset tüüpi faili ja võivad sisaldada ''plain text'' andmeid.<ref>Standard Input Definition http://www.linfo.org/standard_input.html</ref> | ||
Igale avatud failile omistatakse ka arvuline deskriptor. stdin, stdout ja stderr arvulised failideskriptorid on vastavalt 0,1 ja 2. | Igale avatud failile omistatakse ka arvuline deskriptor. stdin, stdout ja stderr arvulised failideskriptorid on vastavalt 0,1 ja 2. | ||
Tüüpiliselt on need vood seotud terminaliga (tty), kuid võivad ka viidata teistele failidele või seadmetele, kui protsess on vastavalt seadistatud. | Tüüpiliselt on need vood seotud terminaliga (tty), kuid võivad ka viidata teistele failidele või seadmetele, kui protsess on vastavalt seadistatud. | ||
<ref> | <ref>stdin(3) - Linux man page https://linux.die.net/man/3/stdin https://linux.die.net/man/3/stdin</ref> | ||
Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile. | Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile. | ||
Revision as of 17:07, 10 January 2017
mustand
stdin (standard input) on UNIX süsteemides standardsisendvoog. Vt. ka stdout ja stderr
Standardvood
Linuxis ja teistes Unix-i laadsetes süsteemides on kasutusel standardvood. Iga protsess käivitatakse automaatselt koos kolme andmevooga: sisendvoog stdin ja väljundvoog stdout (standard output) ja veavoog stderr (standard error). Need vood kujutavad endast spetsiaalset tüüpi faili ja võivad sisaldada plain text andmeid.[1]
Igale avatud failile omistatakse ka arvuline deskriptor. stdin, stdout ja stderr arvulised failideskriptorid on vastavalt 0,1 ja 2. Tüüpiliselt on need vood seotud terminaliga (tty), kuid võivad ka viidata teistele failidele või seadmetele, kui protsess on vastavalt seadistatud. [2] Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile.
stdin ümbersuunamine
Vaikimisi tuleb stdin-i sisu klaviatuurisisestustest. Kuid stdin-i nagu ka stdout-i ja stderr-i saab ümber oma vajaduste kohaselt ümber suunata. Selleks, et protsessi sisendvoogu jõuaks tuleks klaviatuuri asemel failist, tuleb kasutada < märki. Näiteks:
sort < list.txt
Selles näites saab sort käsk sisendi failist list.txt.
Klaviatuuri või faili asemel võib standardsisendvooks oll ka mõne teise programmi väljund. SSeda saab teha toru (pipe) abil. Näiteks:
ls -1 | wc -l
Selles käsus on ls -1 käsu väljund suunatud wc -l käsu sisendiks. ls -1 - faililisting igal real üks fail, wc -l - loeb kokku read. Vaata ka [3]
Autor
Liina Abner
DK23
jaanuar 2017
Allikad
- ↑ Standard Input Definition http://www.linfo.org/standard_input.html
- ↑ stdin(3) - Linux man page https://linux.die.net/man/3/stdin https://linux.die.net/man/3/stdin
- ↑ I/O Redirection http://linuxcommand.org/lc3_lts0070.php