Vsak proces v Linuxu proizvede tri podatkovne tokove, stdin, stdout in stderr:
- stdin : Vnese vnos od uporabnika prek tipkovnice
- stdout : Prikaže izhod na zaslonu
- stderr : Prikaže informacije o napakah na zaslonu
Vsak podatkovni tok ima številčni ID:
Številčna ID | Ime |
0 | stdin |
1 | stdout |
2 | stderr |
Razložimo preusmeritev nekoliko podrobneje:
Kako preusmeriti standardni izhod in standardno napako v Bashu:
Za preusmeritev standardnega izpisa ukaza bomo uporabili 1 z operaterjem preusmeritve, ki je večji od znaka>:
$ls 1>stdout.txtZgornji ukaz bo ustvaril datoteko in postavil standardni izhod ukaza ls v datoteko stdout.txt.
Če želite prebrati datoteko stdout.txt, uporabite:
$mačkastdout.txt
Standardno napako lahko preusmerimo tudi v datoteko z ukazom:
$mačkamyfile.txt2>stderr.txt
Če si želite ogledati datoteko stderr.txt, uporabite:
$mačkastderr.txt
Prepričajte se, da bo uporaba 2 večja od znaka>. Ker v imeniku ni datoteke myfile.txt, bo ukaz cat prikazal napako, ki bo dodana v datoteko stderr.txt.
Tudi te standardne izhode lahko preusmerite z enim samim ukazom, uporabite:
$ls 1>stdout.txt2>stderr.txt
Izhod ukaza ls bo zapisan v stdout.txt datoteko, vendar stderr.txt bo ostala prazna, ker ne bi prišlo do napake.
Zdaj pa naredimo za stderr.txt:
$mačkamyfile.txt1>stdout.txt2>stderr.txt
Za branje stderr.txt uporabite spodnji ukaz.
$mačkastderr.txt
In seveda bo stdout.txt prazen.
Zaključek :
Ukaz Linux ob izvajanju daje standardni izhod, ki je lahko uspešen ali napačen. Na splošno teh izhodov ni mogoče preusmeriti z operaterji preusmeritve; uporabiti moramo posebne številske številke z znakom>. V tem priročniku smo se naučili, kako s temi številskimi tipkami preusmeriti standardni izhod v datoteko s primeri.