Vsak postopek v Linuxu ustvari tri podatkovne tokove, “stdin”, “stdout” in “stderr”:
- stdin: Uporabnik vnese podatke prek tipkovnice
- stdout: Prikaže izhod na zaslonu
- stderr: Na zaslonu prikaže informacije o napaki
Vsak podatkovni tok ima številčni ID:
Številski ID | Ime |
0 | stdin |
1 | stdout |
2 | stderr |
Pojasnimo preusmeritev nekoliko podrobneje:
Kako preusmeriti standardni izhod in standardno napako v Bashu:
Za preusmeritev standardnega izhoda 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 "stdout".txt ”.
Če želite prebrati "stdout.txt ”, uporabite:
$ mačka stdout.txt
Standardno napako lahko preusmerimo tudi v datoteko z ukazom:
$ cat myfile.txt 2> stderr.txt
Če si želite ogledati “stderr.txt ”, uporabite:
$ mačka stderr.txt
Prepričajte se, da je uporaba "2" večja od znaka ">". Ker ni »myfile.txt "v imeniku, bo ukaz" mačka "dal napako, ki bo dodana v" stderr.txt ”.
Te standardne izhode lahko preusmerite tudi z enim ukazom, uporabite:
$ ls 1> stdout.txt 2> stderr.txt
Izhod ukaza “ls” bo zapisan v “stdout.txt", Ampak"stderr.txt”Bo ostal prazen, ker ne bi prišlo do napake.
Zdaj pa naredimo za “stderr.txt ":
$ cat myfile.txt 1> stdout.txt 2> stderr.txt
Uporabite spodnji ukaz za branje »stderr.txt."
$ mačka stderr.txt
In seveda, “stdout.txt «bo prazen.
Zaključek:
Ukaz Linux ob izvedbi daje standardni izhod, ki bi lahko bil rezultat uspeha ali izpis napake. Na splošno teh izhodov ni mogoče preusmeriti z uporabo operaterjev preusmeritve; uporabiti moramo določene številčne ID-je z znakom “>”. V tem priročniku smo se naučili, kako s temi številskimi tipkami preusmeriti standardni izhod v datoteko s primeri.