Stdout: Difference between revisions
No edit summary |
No edit summary |
||
(22 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
''' | '''stdout''' (standard output) on UNIX süsteemides standardväljund. Vt. ka [[Stdin|stdin]] ja [[Stderr|stderr]] | ||
== 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 sisaldavad ''plain text'' andmeid.<ref>Standard Input Definition http://www.linfo.org/standard_input.html</ref><ref>Standard Output Definition http://www.linfo.org/standard_output.html</ref><ref>Standard Error Definition http://www.linfo.org/standard_error.html</ref> | |||
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. | |||
<ref>stdin(3) - Linux man page https://linux.die.net/man/3/stdin</ref> | |||
Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile. | |||
== stdout ümbersuunamine == | |||
Tänu standardvoole on programmi väljundit lihtne erinevatesse väljundseadmesse saata, näiteks monitori või printerisse. Samuti saab standardvoo edasi suunata mõnele teisele programmile. | |||
Kuna standarvoog sisaldab ''plain text'' andmeid on selle sisu inimloetav. | |||
Vaikimisi suunatakse stdout sisu ekraanile. Selleks, et stdout faili suunata tuleb kasutada <code>></code> operaatorit. Näiteks:<br> | |||
<br> | |||
<code>ls > list.txt</code><br> | |||
<br> | |||
Selles näites suunatakse ls käsu väljund ekraani asemel faili list.txt.<br> | |||
Kui tahta, et uuesti sama käsu sisestamisel ei kirjutataks faili list.txt üle vaid lisataks väljund faili lõppu, tuleb kasutada operaatorit <code>>></code> (append). Näiteks:<br> | |||
<br> | |||
<code>ls >> list.txt</code><br> | |||
<br> | |||
Käsu kordamisel kirjutatakse tulemus faili list.txt lõppu. Kui faili ei eksisteeri, siis see luuakse. | |||
Programmi väljundi võib suunata ka <code>/dev/null</code> faili - see on spetsiaalne fail, mille sisend automaatselt kustutatakse. | |||
Näiteks, kui on soov, et mõni programm töötaks taustal ja väljundit ignoreeritaks, siis võib programmi käivitada nii:<br> | |||
<code>command > /dev/null</code><br> | |||
==Autor== | ==Autor== | ||
Liina Abner <br> | Liina Abner <br> | ||
DK23 <br> | DK23 <br> | ||
jaanuar 2017 | jaanuar 2017 | ||
==Allikad== | |||
{{reflist}} | |||
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]] |
Latest revision as of 20:19, 27 January 2017
stdout (standard output) on UNIX süsteemides standardväljund. Vt. ka stdin 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 sisaldavad plain text andmeid.[1][2][3]
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. [4] Tavaliselt läheb standardsisendvoogu klaviatuurilt sisestatav tekst ning väljundvoog ning veavoog kuvatakse ekraanile.
stdout ümbersuunamine
Tänu standardvoole on programmi väljundit lihtne erinevatesse väljundseadmesse saata, näiteks monitori või printerisse. Samuti saab standardvoo edasi suunata mõnele teisele programmile.
Kuna standarvoog sisaldab plain text andmeid on selle sisu inimloetav.
Vaikimisi suunatakse stdout sisu ekraanile. Selleks, et stdout faili suunata tuleb kasutada >
operaatorit. Näiteks:
ls > list.txt
Selles näites suunatakse ls käsu väljund ekraani asemel faili list.txt.
Kui tahta, et uuesti sama käsu sisestamisel ei kirjutataks faili list.txt üle vaid lisataks väljund faili lõppu, tuleb kasutada operaatorit >>
(append). Näiteks:
ls >> list.txt
Käsu kordamisel kirjutatakse tulemus faili list.txt lõppu. Kui faili ei eksisteeri, siis see luuakse.
Programmi väljundi võib suunata ka /dev/null
faili - see on spetsiaalne fail, mille sisend automaatselt kustutatakse.
Näiteks, kui on soov, et mõni programm töötaks taustal ja väljundit ignoreeritaks, siis võib programmi käivitada nii:
command > /dev/null
Autor
Liina Abner
DK23
jaanuar 2017
Allikad
- ↑ Standard Input Definition http://www.linfo.org/standard_input.html
- ↑ Standard Output Definition http://www.linfo.org/standard_output.html
- ↑ Standard Error Definition http://www.linfo.org/standard_error.html
- ↑ stdin(3) - Linux man page https://linux.die.net/man/3/stdin