لینکس میں PATH میں ڈائریکٹری کیسے شامل کی جائے۔

How Add Directory Path Linux



PATH لینکس شیل میں پہلے سے طے شدہ متغیر ہے۔ یہ ڈائریکٹریوں پر مشتمل ہے جو ان کی ڈائرکٹری راستوں سے شروع ہوتی ہے۔ PATH کالون سے الگ ہونے والی فہرست ہے۔ ہر ڈائرکٹری جس کا راستہ ہے اسے پچھلی ڈائریکٹری سے الگ کیا جاتا ہے جس کے راستے کو بڑی آنت ہوتی ہے۔ شیل ان ڈائریکٹریوں میں کمانڈز کی تلاش کرتا ہے۔

کمانڈ صرف ڈسک آپریٹنگ سسٹم کی کمانڈز نہیں ہیں۔ راستہ ڈائریکٹریوں کی ایک فہرست ہے جس میں شیل آپریٹنگ سسٹم کے کمانڈز اور دیگر کمانڈز کی تلاش کرتا ہے۔ کمانڈ مختصر پروگرام فائلوں کی طرح ہیں۔ لہذا ، احکامات قابل عمل ہیں۔ کمپیوٹر میں نصب ہر ایپلی کیشن ایک قابل عمل فائل کے ساتھ آتی ہے۔ ایپلیکیشن کو چلانے کے لیے ، قابل عمل فائل پہلے مصروف ہے۔ ان قابل عمل فائلوں کو کمانڈ بھی کہا جاتا ہے۔







PATH متغیر کے بغیر ، ہر کمانڈ کو مطلق راستے کا حکم دیا جائے گا ، جیسا کہ ،



/home/john/dir1/dir2/command.exe۔



جہاں پہلی / روٹ ڈائریکٹری ہے۔ جان صارف کے لیے یوزر ڈائریکٹری ہے ، جان؛ dir1 اور dir2 ذیلی ڈائریکٹری ہیں اور command.exe قابل عمل فائل کا نام ہے۔





قابل عمل فائل کے لیے بہت سے دوسرے نام ممکن ہیں۔ در حقیقت ، command.exe علامتی ہے ، یہاں۔ لہذا ، اگر ڈائریکٹری ،/home/john/dir1/dir2 (فائل کے بغیر) ، PATH متغیر میں ہے ، صارف جان ، فوری طور پر command.exe پر عمل درآمد کرے گا ، [email protected]: ~ $ صرف ٹائپ کرکے ، command.exe ، پچھلے راستے کے بغیر۔ یہ ہے کہ:

[ای میل محفوظ]: ~ $۔command.exe

اور پھر انٹر دبائیں۔

کمپیوٹر میں PATH ڈائریکٹریز کی موجودہ فہرست دیکھنے کے لیے ، ٹائپ کریں:

$باہر پھینک دیا $ پاتھ۔

اور ٹرمینل پر انٹر دبائیں۔ نتیجہ کچھ یوں ہوگا ،

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

اب سوال یہ ہے کہ: PATH متغیر میں ڈائریکٹری (اور اس کا سابقہ ​​راستہ) کیسے شامل ہے؟ کچھ تنصیبات کے ساتھ ، ڈائریکٹری خود بخود شامل ہو جاتی ہے۔ دوسروں کے ساتھ ، اسے دستی طور پر شامل کرنا ہوگا۔ یہ مضمون دو اہم طریقوں کی وضاحت کرتا ہے ، جس میں ڈائریکٹری شامل کی گئی ہے۔ ڈائریکٹری شامل نہیں کی گئی ہے (شامل) کیونکہ یہ ایک صف میں کیا جائے گا۔ دو اہم طریقوں کو عارضی اضافہ اور مستقل اضافہ کہا جاتا ہے۔ باش اس مضمون میں کوڈ کی مثالوں کے لیے استعمال ہونے والا شیل ہے۔

مضمون کا مواد۔

عارضی اضافہ۔

عارضی اضافہ کا مطلب ہے کہ اضافہ صرف میموری میں ہوتا ہے۔ جب کمپیوٹر ریبوٹ ہوتا ہے تو اسے استعمال کے لیے محفوظ نہیں کیا جاتا ہے۔

بورن شیل بلٹ ان ایکسپورٹ کمانڈ۔

آسان الفاظ میں ، ایکسپورٹ کمانڈ یہ ہے:

$برآمد [نام[= قیمت]]

اس معاملے میں ، یہ میموری میں ایک متغیر کو ایک قدر دوبارہ تفویض کرتا ہے۔

میموری میں PATH متغیر کی قیمت پہلے ہی ہو سکتی ہے ،

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

فرض کریں کہ جو ڈائریکٹری شامل کی جائے گی وہ ہے/home/john/dir1/dir2۔ اگر ایکسپورٹ کمانڈ بطور ٹائپ کی جاتی ہے ،

$برآمد راستہ=/گھر/جان/dir1/dir2

پھر/home/john/dir1/dir2 ان تمام چیزوں کی جگہ لے لے گا جو پہلے سے میموری میں موجود ہیں PATH متغیر کی قیمت کے طور پر۔

اگر ایکسپورٹ کمانڈ بطور ٹائپ کی جاتی ہے ،

$برآمد راستہ=$ پاتھ۔:/گھر/جان/dir1/dir2

پھر ،/home/john/dir1/dir2 خود کو اس کے اختتام پر جوڑ دے گا جو پہلے سے ہی متغیر میں ہے۔ تو ، نیا متغیر یہ ہوگا:

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ گھر/جان/dir1/dir2

نوٹ کریں کہ مندرجہ بالا کوڈ کی پچھلی لائن میں ، قیمت کا وہ حصہ جو پہلے سے موجود ہے ، نئے حصے سے بڑی آنت کے ساتھ الگ ہو گیا ہے ، جو کہ ':' ہے۔ $ PATH کوڈ کی لکیر میں ، پہلے سے میموری میں موجود PATH کی قدر سے پھیلتا ہے (تبدیل کیا جاتا ہے)۔

اب ، ایک ہی کمانڈ ایک سے زیادہ ڈائریکٹریوں میں ہوسکتی ہے۔ جب پرامپٹ پر پچھلے راستے کے بغیر ایک قابل عمل کمانڈ ٹائپ کی جاتی ہے تو ، شیل میموری میں PATH متغیر کی قدر (سٹرنگ) کو بائیں سے دائیں تلاش کرنا شروع کردیتا ہے۔ لہذا ، کوڈ کی مذکورہ بالا لائن کے ساتھ ،/home/john/dir1/dir2 تلاش میں آخری وقت پر پہنچے گا۔ کون چاہتا ہے کہ اس کی ڈائریکٹری آخری بار آئے؟ - کوئی نہیں۔ لہذا ، ڈائریکٹری کو شامل کرنے (شامل کرنے) کا ایک بہتر طریقہ یہ ہے:

$برآمد راستہ=/گھر/جان/dir1/dir2:$ پاتھ۔

/home/john/dir1/dir2 اب شروع میں ہے ، اگلی ڈائریکٹری سے الگ ، ایک بڑی آنت کے ساتھ۔ تو ، [email protected] کے اشارے کے ساتھ: ~ $ ،

[ای میل محفوظ]: ~ $۔برآمد راستہ=/گھر/جان/dir1/dir2:$ پاتھ۔

ٹائپ کرنے اور انٹر دبانے کے بعد ، کمانڈ ، ڈائریکٹری میں command.exe ، dir2 ، کے ساتھ عمل کیا جائے گا:

[ای میل محفوظ]: ~ $۔command.exe

جب تک کمپیوٹر بند نہیں ہوتا ، صارف پچھلے راستے کو ٹائپ کیے بغیر command.exe پر عملدرآمد جاری رکھے گا۔

جب کمپیوٹر بند ہوجاتا ہے تو ، بے ترتیب رسائی میموری میں ہر چیز مٹ جاتی ہے۔ بری خبر یہ ہے کہ کمپیوٹر استعمال کرنے والے کو جب بھی کمپیوٹر ریبوٹ کیا جائے گا PATH متغیر میں اپنی ڈائریکٹری شامل کرنے کے اس عمل کو دہرانا پڑے گا۔ کوئی بھی آج ایسا نہیں کرنا چاہتا۔ لہذا ، مستقل اضافے کا طریقہ تجویز کردہ نقطہ نظر ہے۔ یعنی PATH میں اضافہ ، (ہارڈ ڈسک میں) محفوظ کرنا ہوگا۔

مستقل اضافہ۔

مذکورہ بحث سے ، خیال یہ ہے کہ کی گئی تبدیلی کو محفوظ کیا جائے (ہارڈ ڈسک میں)۔ لہذا ، اگر تبدیلی کسی فائل میں محفوظ ہوجاتی ہے جو ہر بار کمپیوٹر کے بوٹ ہونے پر شیل پڑھتا ہے تو یہ ٹھیک ہوگا۔ یعنی ، جب بھی کمپیوٹر بوٹ ہوتا ہے ، میموری میں PATH متغیر کو مناسب طریقے سے اپ ڈیٹ کیا جائے گا۔ جب کمپیوٹر شروع ہوتا ہے ، بوٹنگ کے وقت ، یہ کچھ فائلیں پڑھتا ہے۔ لینکس کے لیے بش شیل پڑھنے والی فائلوں میں سے ایک ، ~/.bashrc ہے۔ فائل کا نام ہے۔ bashrc ، نقطے کے ساتھ شروع. یہ صارف کی ڈائریکٹری میں ہے۔

باش صرف ایک شیل ہے ، جو شاید لینکس کے لیے سب سے زیادہ مقبول شیل ہے۔ لینکس کے لیے ایک اور شیل Zsh ہے۔ Zsh کے ساتھ ، متعلقہ فائل ~/ہے۔ zshrc ، اب بھی صارف کی ڈائرکٹری میں ہے۔ جب شیل شروع ہوتی ہے ، بوٹنگ کے وقت ، یہ اس فائل کو پڑھتا ہے۔ بش کے لیے ، فائل ہے ، ~/.bashrc۔ لہذا ، اگر مذکورہ بالا اضافی کوڈ ~/.bashrc فائل میں ٹائپ کیا جاتا ہے تو ، ڈائریکٹری ہمیشہ میموری میں رہے گی ، جیسا کہ ~/.bashrc ہمیشہ اسے PATH میں شامل کرے گا ، جب بھی کمپیوٹر بوٹ ہوتا ہے۔ یہ میموری میں رہتا ہے ، جب تک کہ کمپیوٹر بند نہ ہو جائے۔

بش میں ، ~/.bashrc ایک چھپی ہوئی فائل ہے ، لہذا کمانڈ کا عام استعمال ، ls اسے نہیں دکھائے گا۔ ~/.bashrc میں کچھ بش (شیل) کمانڈز شامل ہیں۔ اوبنٹو لینکس کی ایک قسم ہے۔ اوبنٹو ٹیکسٹ ایڈیٹر کے ساتھ آتا ہے۔ مصنف کے کمپیوٹر میں ، اوبنٹو ٹیکسٹ ایڈیٹر کا پس منظر سیاہ ہے۔

مذکورہ بالا اضافی کمانڈ (اشارہ کے بغیر) ~/.bashrc فائل میں شامل ہونا چاہیے۔ فائل کے اختتام پر اسے شامل کرنا اچھا ہے تاکہ اس کے دستیاب مواد سے غصہ نہ آئے ، یہ شاید ٹھیک کام کر رہا ہے۔

اوبنٹو میں ~/.bashrc کھولنے کے لیے ، ٹرمینل پر کمانڈ پرامپٹ پر درج ذیل ٹائپ کریں ، اور انٹر دبائیں:

$نینو۔/.bashrc

جہاں نانو ٹیکسٹ ایڈیٹر ہے۔ یہاں ، نانو ایک کمانڈ (قابل عمل) ہے ، جس کی دلیل،/.bashrc ہے۔ ٹرمینل ونڈو کو اوورلے کرنے کے لیے فائل کا مواد ٹیکسٹ ایڈیٹر میں کھلنا چاہیے۔

~/.bashrc فائل ٹیکسٹ ایڈیٹر میں کھل جائے گی ، شاید سیاہ پس منظر کے ساتھ۔ کرسر اوپر بائیں کونے پر چمکتا رہے گا۔

کی بورڈ پر نیچے تیر والے بٹن کو مسلسل دبائیں جب تک کہ کرسر فائل کے اختتام تک نہ پہنچ جائے۔ کی ایک نئی لائن شامل کریں ،

$برآمد راستہ=/گھر/جان/dir1/dir2:$ پاتھ۔

یہ سب کچھ نہیں ہے۔ ./.bashrc فائل میں تبدیلی محفوظ نہیں ہوئی ہے۔ کی گئی تبدیلی کے ساتھ فائل کو محفوظ کرنے کے لیے ، Ctrl+o دبائیں ، اور ظاہر ہونے والی دیگر ہدایات پر عمل کریں۔ ٹیکسٹ ایڈیٹر سے باہر نکلنے کے لیے ، Ctrl+x دبائیں ، اور عام ٹرمینل ونڈو کو ٹیکسٹ ایڈیٹر ونڈو کو تبدیل کرنا چاہیے۔ اس کے بعد دیگر شیل کمانڈ جاری کیے جا سکتے ہیں۔

اگر ایکو $ PATH جاری کیا جاتا ہے تو ، نئی ڈائریکٹری ڈسپلے میں نظر نہیں آئے گی۔ یہاں سے جاری رکھنے کے دو طریقے ہیں: یا تو کمپیوٹر کو دوبارہ شروع کریں ، یا command/.bashrc فائل کے نئے مندرجات کو سورس کمانڈ کے ساتھ میموری میں حاصل کریں۔ سورس کمانڈ کو استعمال کرنا آسان ہے ، جیسا کہ:

$ذریعہ۔/.bashrc

اگر سورس کمانڈ ریبوٹ کیے بغیر جاری کیا جاتا ہے ، تو echo $ PATH رزلٹ (ڈسپلے) میں شامل کردہ نئی ڈائریکٹری دکھائے گی۔ سود کی کمانڈ پھر پچھلے راستے کے بغیر ٹائپ کی جا سکتی ہے۔

نوٹ: PATH ویلیو (فہرست) کے اختتام اور ~/.bashrc فائل کے اختتام کے درمیان الجھن نہ کریں۔ نیز ، میموری میں PATH میں ڈائریکٹری اور ہارڈ ڈسک میں ڈائریکٹری میں ایک قابل عمل فائل کے درمیان الجھن نہ کریں۔

نتیجہ

PATH لینکس کے گولوں میں ایک بلٹ ان متغیر ہے۔ PATH کی قدر کالونوں سے الگ ہونے والی ڈائریکٹریوں کی فہرست ہے۔ ان ڈائریکٹریوں میں سے ہر ایک کے لیے ہارڈ ڈسک میں ایک کمانڈ (قابل عمل فائل) ہے۔ اگر کمانڈ فروخت کے وقت بغیر کسی راستے کے جاری کی جاتی ہے تو ، شیل کمانڈ کے لیے ان ڈائریکٹریوں کو دیکھے گا۔ اگر یہ کسی ڈائریکٹری میں کمانڈ نہیں دیکھتا ہے تو کمانڈ پر عمل نہیں کیا جائے گا۔ اس صورت میں ، کمانڈ پر عمل کرنے کے لیے ، کمانڈ کو اس کے راستے سے پہلے رکھنا ہوگا۔ کمانڈ PATH ویلیو میں ایک سے زیادہ ڈائریکٹریوں میں ہوسکتی ہے۔ جیسے ہی شیل کمانڈ والی پہلی ڈائریکٹری کو دیکھتا ہے ، یہ کمانڈ پر عمل کرتا ہے۔ PATH ویلیو دراصل ایک تار ہے جس میں ڈائرکٹریوں کو کالونز سے الگ کیا جاتا ہے۔

مسئلہ یہ ہے کہ PATH میں نئی ​​ایپلیکیشن کے قابل عمل کے لیے ڈائریکٹری کیسے شامل کی جائے۔ کچھ معاملات میں ، یہ نئی ایپلی کیشن کے انسٹال پروگرام کے ذریعے خود بخود ہو جاتا ہے۔ دوسرے معاملات میں ، اسے دستی طور پر کرنا پڑتا ہے۔ اسے دستی طور پر کرنے کے دو طریقے ہیں ، جنہیں کہا جاتا ہے: عارضی اضافہ اور مستقل اضافہ۔ عارضی اضافہ ایکسپورٹ کمانڈ استعمال کرتا ہے اور کمپیوٹر آن ہونے پر صرف ڈائریکٹری شامل کرتا ہے۔ مستقل اضافے کو مستقبل کی کارروائیوں کے لیے ایکسپورٹ کمانڈ لائن کو ~/.bashrc ابتدائی فائل (بش) میں محفوظ کرنا ہوگا۔