Stdin: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
'''mustand'''<br>
'''mustand'''<br>
<br>
<br>
'''stdin''' (standard input) on UNIX süsteemides standardsisend. Vt. ka [[Stdout|stdout]] ja [[Stderr|stderr]]
'''stdin''' (standard input) on UNIX süsteemides standardsisendvoog. Vt. ka [[Stdout|stdout]] ja [[Stderr|stderr]]
<br>
<br>


== 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 standard andmevood. Iga protsess käivitatakse automaatselt koos kolme andmevooga: sisendvoog stdin ja väljundvood [[Stdout|stdout]] (standard output) ja [[Stderr|stderr]] (standard error). Need vood kujutavad endast spetsiaalset tüüpi faili ja võivad sisaldada ''plain text'' andmeid.<ref>[http://www.linfo.org/standard_input.html http://www.linfo.org/standard_input.html]</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>[http://www.linfo.org/standard_input.html 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>[https://linux.die.net/man/3/stdin https://linux.die.net/man/3/stdin]</ref>
<ref>[https://linux.die.net/man/3/stdin https://linux.die.net/man/3/stdin]</ref>
Tavaliselt on standardsisendiks klaviatuurilt sisestatav tekst ja standardväljund ning standarderror kuvatakse ekraanile.
Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile.


== stdin ümbersuunamine ==
== 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 stdin tuleks klaviatuuri asemel failist, tuleb kasutada < märki. Näiteks:
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:


<code>sort &lt; list.txt</code>
<code>sort &lt; list.txt</code>

Revision as of 22:35, 9 January 2017

mustand

stdin (standard input) on UNIX süsteemides standardsisendvoog. Vt. ka stdout ja stderr

Standardvood

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 (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. Rohkem näiteid I/O redirection[3]

Autor

Liina Abner DK23
jaanuar 2017

Allikad