Katrs Linux process rada trīs datu plūsmas, stdin, stdout un stderr:
- stdin : Ievada lietotāja ievadi, izmantojot tastatūru
- stdout : Ekrānā parāda izvadi
- stderr : Parāda ekrānā informāciju par kļūdām
Katrai datu straumei ir ciparu ID:
Skaitliskais ID | Vārds |
0 | stdin |
1 | stdout |
2 | stderr |
Nedaudz sīkāk paskaidrosim novirzīšanu:
Kā novirzīt standarta izvadi un standarta kļūdu Bash:
Lai novirzītu komandas standarta izvadi, mēs izmantosim 1 ar novirzīšanas operatoru, kas ir lielāks par> zīmi:
$ls 1>stdout.txtIepriekš minētā komanda izveidos failu un ievietos komandas ls standarta izvadi failā stdout.txt.
Lai lasītu failu stdout.txt, izmantojiet:
$kaķisstdout.txt
Mēs varam arī novirzīt standarta kļūdu uz failu, izmantojot komandu:
$kaķismyfile.txt2>stderr.txt
Lai skatītu failu stderr.txt, izmantojiet:
$kaķisstderr.txt
Pārliecinieties, vai 2. lietošana ir lielāka par> zīmi. Tā kā direktorijā nav faila myfile.txt, komanda cat dos kļūdu, kas tiks pievienota failam stderr.txt.
Šīs standarta izejas var arī novirzīt ar vienu komandu, izmantojiet:
$ls 1>stdout.txt2>stderr.txt
Komandas ls izvade tiks ierakstīta stdout.txt failu, bet stderr.txt paliks tukšs, jo nebūtu kļūdu.
Tagad darīsim failu stderr.txt:
$kaķismyfile.txt1>stdout.txt2>stderr.txt
Izmantojiet zemāk minēto komandu, lai lasītu failu stderr.txt.
$kaķisstderr.txt
Un, protams, stdout.txt būs tukšs.
Secinājums :
Izpildot, Linux komanda dod standarta izvadi, kas varētu būt veiksmīga vai kļūda. Parasti šos izvadus nevar novirzīt, izmantojot novirzīšanas operatorus; mums ir jāizmanto konkrēti ciparu ID ar zīmi>. Šajā rokasgrāmatā mēs uzzinājām, kā izmantot šos ciparu taustiņus, lai novirzītu standarta izvadi uz failu ar piemēriem.