Kiekvienas „Linux“ procesas sukuria tris duomenų srautus, stdin, stdout ir stderr:
- stdin : Priima vartotojo įvestį per klaviatūrą
- stdout : Ekrane parodo išvestį
- stderr : Ekrane rodo klaidų informaciją
Kiekvienas duomenų srautas turi skaitinį ID:
Skaitmeninis ID | vardas |
0 | stdin |
1 | stdout |
2 | stderr |
Šiek tiek išsamiau paaiškinkime peradresavimą:
Kaip peradresuoti standartinę išvestį ir standartinę klaidą „Bash“:
Norėdami nukreipti standartinę komandos išvestį, naudosime 1 su peradresavimo operatoriumi, kuris yra didesnis nei> ženklas:
$ls 1>stdout.txtAukščiau pateikta komanda sukurs failą ir standartinį komandos ls išvestį įdės į failą stdout.txt.
Norėdami perskaityti failą stdout.txt, naudokite:
$katėstdout.txt
Mes taip pat galime nukreipti standartinę klaidą į failą naudodami komandą:
$katėmyfile.txt2>stderr.txt
Norėdami peržiūrėti failą stderr.txt, naudokite:
$katėstderr.txt
Įsitikinkite, kad naudojimas 2 bus didesnis nei> ženklas. Kadangi kataloge nėra failo myfile.txt, komanda cat duos klaidą, kuri bus pridėta faile stderr.txt.
Šiuos standartinius išėjimus taip pat galima nukreipti viena komanda, naudokite:
$ls 1>stdout.txt2>stderr.txt
Komandos ls išvestis bus parašyta stdout.txt failą, bet stderr.txt liks tuščias, nes nebūtų klaidų.
Dabar padarykime failą stderr.txt:
$katėmyfile.txt1>stdout.txt2>stderr.txt
Naudokite toliau nurodytą komandą, kad perskaitytumėte stderr.txt.
$katėstderr.txt
Ir, žinoma, stdout.txt bus tuščias.
Išvada :
„Linux“ komanda vykdant suteikia standartinę išvestį, kuri gali būti sėkminga arba klaidos išvestis. Paprastai šių išėjimų negalima peradresuoti naudojant peradresavimo operatorius; su ženklu> turime naudoti konkrečius skaitinius ID. Šiame vadove mes sužinojome, kaip naudoti šiuos skaitmeninius klavišus, norint nukreipti standartinę išvestį į failą su pavyzdžiais.