ماڈیول اسباق (1/2)
آؤٹ پٹ اور ری ڈائریکٹس (ایکو، بلی، >)
لینکس میں، تقریباً تمام کمانڈز ان پٹ اسٹریم سے ڈیٹا پڑھتی ہیں اور آؤٹ پٹ اسٹریم میں نتائج لکھتی ہیں۔ ان چینلز کو معیاری سلسلہ کہا جاتا ہے:
- معیاری ان پٹ (stdin): وہ سلسلہ جہاں سے کمانڈ اپنا ان پٹ پڑھتی ہے (پہلے سے طے شدہ کی بورڈ ہے)۔
- معیاری آؤٹ پٹ (stdout): وہ سلسلہ جس پر کمانڈ اپنا کامیاب آؤٹ پٹ لکھتی ہے (پہلے سے طے شدہ ٹرمینل اسکرین ہے)۔
- معیاری خرابی (stderr): وہ سلسلہ جس پر کمانڈ اپنے غلطی کے پیغامات لکھتی ہے (پہلے سے طے شدہ اسکرین ہے)۔
کمانڈ لائن کا استعمال کرتے ہوئے، ہم نتائج کو براہ راست فائلوں میں محفوظ کرنے کے لیے ان اسٹریمز کو ری ڈائریکٹ کر سکتے ہیں۔
پرنٹنگ ٹیکسٹ: echo
echo کمانڈ صرف اپنے دلائل اپنے معیاری آؤٹ پٹ (اسکرین) پر لکھتی ہے:
echo "Hello everyone"آؤٹ پٹ کو ری ڈائریکٹ کرنا (اوور رائٹ): >
اگر آپ کسی کمانڈ کے آؤٹ پٹ کو اسکرین پر دکھانے کے بجائے اسے فائل میں محفوظ کرنا چاہتے ہیں، تو آپ ری ڈائریکٹ آپریٹر > استعمال کر سکتے ہیں:
echo "Hello everyone" > greetings.txtیہ کمانڈ echo چلاتی ہے اور اس کے آؤٹ پٹ کو فائل greetings.txt پر ری ڈائریکٹ کرتی ہے۔
[!اہم] اگر فائل
greetings.txtموجود نہیں ہے تو یہ بن جاتی ہے۔ اگر یہ پہلے سے موجود ہے تو، **اس کا موجودہ مواد مکمل طور پر حذف ہو جائے گا اور نئے آؤٹ پٹ کے ساتھ اوور رائٹ ہو جائے گا۔
فائل کے مشمولات پڑھنا: cat
فلائی پر ایک یا زیادہ ٹیکسٹ فائلوں کا مواد دیکھنے کے لیے، cat کمانڈ استعمال کریں (مختصر concatenate کے لیے):
cat greetings.txtمنسلک آؤٹ پٹ: >>
اگر آپ کسی موجودہ فائل کو اوور رائٹ کرنے کے بجائے اس کے آخر میں نئی لائنیں **شامل کرنا چاہتے ہیں، تو آپ کو ضمیمہ آپریٹر >> استعمال کرنا ہوگا:
echo "New line of text" >> greetings.txtاب، cat greetings.txt کے ساتھ فائل کو پڑھنے سے پہلی لائن اور دوسری لائن دونوں نظر آئیں گی۔
استعمال کی مثالیں اور عام غلطیاں
آپ متعدد فائلوں کو ایک ہی وقت میں cat پر منتقل کر سکتے ہیں تاکہ انہیں ترتیب سے ظاہر کیا جا سکے (مشترکہ):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.آپ > آپریٹر کا استعمال کرتے ہوئے مشترکہ آؤٹ پٹ کو تیسری فائل میں بھیج سکتے ہیں:
cat notes.txt info.txt > combined.txtاگر آپ کسی ایسی فائل کو پڑھنے کی کوشش کریں گے جو موجود نہیں ہے، تو cat ایک غلطی کا پیغام لکھے گا:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryخود ہی آزمائیں۔
مشق 1: سلام کے ساتھ فائل بنائیں
echo اور > آپریٹر کا استعمال کرتے ہوئے 'hello.txt' نام کی فائل بنائیں جس میں بالکل متن 'ہیلو ورلڈ' ہو۔
اشارہ دکھائیں۔
اقتباسات میں سٹرنگ کے بعد echo استعمال کریں، > آپریٹر، اور hello.txt۔
3 کوششوں کے بعد حل دستیاب ہے۔
مشق 2: فائل میں نوٹ شامل کریں۔
موجودہ مواد کو حذف کیے بغیر موجودہ 'notes.txt' فائل کے آخر میں لائن 'Linux is fun' شامل کریں۔
اشارہ دکھائیں۔
Notes.txt فائل میں ٹیکسٹ شامل کرنے کے لیے >> آپریٹر کا استعمال کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔
مشق 3: فائلوں کو جوڑیں۔
فائلز 'notes.txt' اور 'info.txt' کے مواد کو جوڑیں اور مشترکہ آؤٹ پٹ کو 'combined.txt' نام کی نئی فائل میں محفوظ کریں۔
اشارہ دکھائیں۔
کیٹ کا استعمال کریں جس کے بعد دو سورس فائلوں کے نام ہوں اور آؤٹ پٹ کو > کے ساتھ منزل کی فائل پر ری ڈائریکٹ کریں۔
3 کوششوں کے بعد حل دستیاب ہے۔