Iga Linuxi protsess toodab kolme andmevoogu, stdin, stdout ja stderr:
- stdin : Võtab kasutajalt klaviatuuri kaudu sisendi
- stdout : Kuvab ekraanil väljundi
- stderr : Kuvab ekraanil veateavet
Igal andmevool on numbriline ID:
Numbriline ID | Nimi |
0 | stdin |
1 | stdout |
2 | stderr |
Selgitame ümbersuunamist üksikasjalikumalt:
Standardväljundi ja standardvea ümbersuunamine Bashis:
Käsu standardväljundi ümbersuunamiseks kasutame 1 koos ümbersuunamisoperaatoriga, mis on suurem kui> märk:
$ls 1>stdout.txtÜlaltoodud käsk loob faili ja paigutab käsu ls standardväljundi faili stdout.txt.
Faili stdout.txt lugemiseks kasutage:
$kassstdout.txt
Samuti saame standardvea faili suunata, kasutades käsku:
$kassmyfile.txt2>stderr.txt
Faili stderr.txt vaatamiseks kasutage järgmist:
$kassstderr.txt
Veenduge, et kasutamine 2 oleks suurem kui> märk. Kuna kataloogis pole faili myfile.txt, annab käsk cat vea, mis lisatakse failile stderr.txt.
Neid standardväljundeid saab ka ühe käsuga ümber suunata, kasutage järgmist:
$ls 1>stdout.txt2>stderr.txt
Käsu ls väljund kirjutatakse kausta stdout.txt fail, kuid stderr.txt jääb tühjaks, sest viga ei oleks.
Teeme nüüd faili stderr.txt:
$kassmyfile.txt1>stdout.txt2>stderr.txt
Kasutage allolevat käsku stderr.txt lugemiseks.
$kassstderr.txt
Ja stdout.txt on muidugi tühi.
Järeldus :
Linuxi käsk käivitamisel annab standardväljundi, mis võib olla edukas või veaväljund. Üldiselt ei saa neid väljundeid ümbersuunamisoperaatorite abil ümber suunata; peame kasutama märgiga> konkreetseid numbrilisi ID -sid. Selles juhendis õppisime, kuidas kasutada neid numbriklahve standardväljundi suunamiseks näidetega faili.