لینکس میں ہر عمل تین ڈیٹا اسٹریمز ، stdin ، stdout اور stderr تیار کرتا ہے۔
- stdin : کی بورڈ کے ذریعے صارف سے ان پٹ لیتا ہے۔
- stdout : اسکرین پر آؤٹ پٹ دکھاتا ہے۔
- سٹڈرر : سکرین پر غلطی کی معلومات دکھاتا ہے۔
ہر ڈیٹا سٹریم کی ایک عددی شناخت ہوتی ہے۔
عددی شناخت | نام۔ |
0۔ | stdin |
1۔ | stdout |
2۔ | سٹڈرر |
آئیے ذرا تفصیل کے ساتھ ری ڈائریکشن کی وضاحت کریں:
بش میں سٹینڈرڈ آؤٹ پٹ اور سٹینڈرڈ ایرر کو ری ڈائریکٹ کرنے کا طریقہ:
کمانڈ کے معیاری آؤٹ پٹ کو ری ڈائریکٹ کرنے کے لیے ، ہم ری ڈائریکشن آپریٹر کے ساتھ 1 کا استعمال کریں گے جو کہ> نشان سے بڑا ہے:
$ایل ایس 1۔>stdout.txtمذکورہ کمانڈ ایک فائل بنائے گی اور ls کمانڈ کی معیاری پیداوار stdout.txt فائل میں رکھے گی۔
stdout.txt فائل پڑھنے کے لیے ، استعمال کریں:
$کیٹstdout.txt
ہم کمانڈ کا استعمال کرتے ہوئے معیاری غلطی کو فائل میں بھی بھیج سکتے ہیں۔
$کیٹmyfile.txt2۔>stderr.txt
stderr.txt فائل دیکھنے کے لیے ، استعمال کریں:
$کیٹstderr.txt
یقینی بنائیں کہ استعمال 2> نشان سے زیادہ ہوگا۔ چونکہ ڈائریکٹری میں کوئی myfile.txt فائل نہیں ہے ، cat کمانڈ ایک خرابی دے گا جو stderr.txt فائل میں شامل ہو جائے گی۔
ان معیاری آؤٹ پٹ کو ایک ہی کمانڈ سے بھی ری ڈائریکٹ کیا جا سکتا ہے ، استعمال کریں:
$ایل ایس 1۔>stdout.txt2۔>stderr.txt
ls کمانڈ کا آؤٹ پٹ میں لکھا جائے گا۔ stdout.txt فائل ، لیکن stderr.txt خالی رہے گا کیونکہ کوئی غلطی نہیں ہوگی۔
اب آئیے stderr.txt کے لیے کرتے ہیں:
$کیٹmyfile.txt1۔>stdout.txt2۔>stderr.txt
stderr.txt پڑھنے کے لیے نیچے دی گئی کمانڈ استعمال کریں۔
$کیٹstderr.txt
اور ظاہر ہے ، stdout.txt خالی ہو جائے گا۔
نتیجہ :
لینکس کمانڈ عملدرآمد پر معیاری آؤٹ پٹ دیتا ہے جو کہ کامیاب آؤٹ پٹ یا ایرر آؤٹ پٹ ہو سکتا ہے۔ عام طور پر ، ان آؤٹ پٹ کو ری ڈائریکٹ آپریٹرز کے ذریعے ری ڈائریکٹ نہیں کیا جا سکتا۔ ہمیں مخصوص نشانی آئی ڈی کو> نشان کے ساتھ استعمال کرنے کی ضرورت ہے۔ اس گائیڈ میں ، ہم نے سیکھا کہ ان عددی چابیاں کو معیاری آؤٹ پٹ کو مثالوں والی فائل میں ری ڈائریکٹ کرنے کے لیے کیسے استعمال کیا جائے۔