Ang bawat proseso sa Linux ay gumagawa ng tatlong data stream, stdin, stdout, at stderr:
- si stdin : Kumukuha ng input mula sa gumagamit sa pamamagitan ng keyboard
- stdout : Ipinapakita ang output sa screen
- stderr : Nagpapakita ng impormasyon ng error sa screen
Ang bawat data stream ay may numerong id:
Numero ng Id | Pangalan |
0 | si stdin |
1 | stdout |
2 | stderr |
Ipaliwanag natin ang pag-redirect ng kaunti pa sa detalye:
Paano i-redirect ang Karaniwang output at Karaniwang error sa Bash:
Upang mai-redirect ang karaniwang output ng utos, gagamitin namin ang 1 sa isang operator ng pag-redirect na mas malaki sa> sign:
$ls 1>stdout.txtAng utos sa itaas ay lilikha ng isang file at ilalagay ang karaniwang output ng ls command sa stdout.txt file.
Upang mabasa ang file ng stdout.txt, gamitin ang:
$pusastdout.txt
Maaari naming i-redirect ang karaniwang error sa isang file din sa pamamagitan ng paggamit ng utos:
$pusamyfile.txt2>stderr.txt
Upang matingnan ang stderr.txt file, gamitin ang:
$pusastderr.txt
Tiyaking ang paggamit ng 2 ay mas malaki kaysa sa> sign. Dahil walang myfile.txt file sa direktoryo, ang utos ng pusa ay magbibigay ng isang error na idadagdag sa stderr.txt file.
Ang mga karaniwang output na ito ay maaaring mai-redirect sa isang solong utos din, gamitin ang:
$ls 1>stdout.txt2>stderr.txt
Ang output ng utos ng ls ay isusulat sa stdout.txt file, ngunit ang stderr.txt mananatiling walang laman dahil walang magiging error.
Ngayon gawin natin para sa stderr.txt:
$pusamyfile.txt1>stdout.txt2>stderr.txt
Gamitin ang nabanggit na utos na basahin ang stderr.txt.
$pusastderr.txt
At syempre, walang laman ang stdout.txt.
Konklusyon :
Ang utos ng Linux sa pagpapatupad ay nagbibigay ng karaniwang output na maaaring isang output ng tagumpay o isang output ng error. Pangkalahatan, ang mga output na ito ay hindi maaaring i-redirect gamit ang mga operator ng pag-redirect; kailangan naming gumamit ng tiyak na mga numerong id na may> sign. Sa gabay na ito, natutunan namin kung paano gamitin ang mga numerong key na ito upang mai-redirect ang karaniwang output sa isang file na may mga halimbawa.