Kiekvienas „Linux“ procesas sukuria tris duomenų srautus „stdin“, „stdout“ ir „stderr“:
- stdin: Ima iš vartotojo informaciją klaviatūra
- stdout: Rodo išvestį ekrane
- stderr: Ekrane rodo klaidos informaciją
Kiekvienas duomenų srautas turi skaitmeninį ID:
Skaitinis ID | vardas |
0 | stdin |
1 | stdout |
2 | stderr |
Paaiškinkime šiek tiek išsamiau peradresavimą:
Kaip peradresuoti standartinę išvestį ir standartinę klaidą „Bash“:
Norėdami peradresuoti standartinę komandos išvestį, naudosime „1“ su peradresavimo operatoriumi, kuris yra didesnis nei ženklas „>“:
$ ls 1> stdout.txtPirmiau nurodyta komanda sukurs failą ir standartinę komandos „ls“ išvestį įdės į „stdout“.txt “failas.
Norėdami perskaityti „stdout.txt “failą, naudokite:
$ cat stdout.txt
Standartinę klaidą taip pat galime peradresuoti į failą naudodami komandą:
$ cat myfile.txt 2> stderr.txt
Norėdami peržiūrėti „stderr.txt “failą, naudokite:
$ katės stderr.txt
Įsitikinkite, kad naudojimas „2“ bus didesnis nei ženklas „>“. Kadangi nėra „myfile“.txt “kataloge, komanda„ cat “duos klaidą, kuri bus pridėta prie„ stderr.txt “failas.
Šie standartiniai išėjimai gali būti peradresuoti naudojant vieną komandą, taip pat naudokite:
$ ls 1> stdout.txt 2> stderr.txt
Komandos „ls“ išvestis bus parašyta „stdout.txtFailą, bet „stderr.txt“Liks tuščias, nes nebūtų klaidos.
Dabar atlikime „stderr.txt “:
$ cat myfile.txt 1> stdout.txt 2> stderr.txt
Naudokite žemiau nurodytą komandą, kad perskaitytumėte „stderr.txt.“
$ katės stderr.txt
Ir, žinoma, „stdout.txt “bus tuščias.
Išvada:
Vykdant „Linux“ komandą pateikiama standartinė išvestis, kuri gali būti sėkminga arba klaidos išvestis. Paprastai šių rezultatų negalima peradresuoti naudojant peradresavimo operatorius; turime naudoti konkrečius skaitinius ID su ženklu „>“. Šiame vadove sužinojome, kaip naudoti šiuos skaitmeninius klavišus, norint nukreipti standartinę išvestį į failą su pavyzdžiais.