एंड्रॉयड

कैसे एक निर्देशिका को जोड़ने के लिए linux में पथ के लिए

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

Ethical Hacking Full Course - Learn Ethical Hacking in 10 Hours | Ethical Hacking Tutorial | Edureka

विषयसूची:

Anonim

जब आप कमांड लाइन पर एक कमांड टाइप करते हैं, तो आप मूल रूप से शेल को दिए गए नाम के साथ एक निष्पादन योग्य फ़ाइल चलाने के लिए कह रहे हैं। Linux में ये निष्पादन योग्य प्रोग्राम जैसे ls , find , file and others, आमतौर पर आपके सिस्टम पर कई अलग-अलग निर्देशिकाओं के अंदर रहते हैं। इन निर्देशिकाओं में संग्रहीत निष्पादन योग्य अनुमतियों वाली कोई भी फ़ाइल किसी भी स्थान से चलाई जा सकती है। निष्पादन योग्य कार्यक्रमों को रखने वाले सबसे आम निर्देशिकाएं /bin , /sbin , /usr/sbin , /usr/local/bin और /usr/local/sbin

लेकिन शेल कैसे जानता है, निष्पादन योग्य कार्यक्रमों की खोज करने के लिए कौन सी निर्देशिका है या शेल पूरे फाइल सिस्टम के माध्यम से खोज करता है?

उत्तर सीधा है। जब आप एक कमांड टाइप करते हैं, तो शेल उस नाम की एक निष्पादन योग्य फ़ाइल के लिए उपयोगकर्ता $PATH चर में निर्दिष्ट सभी निर्देशिकाओं के माध्यम से खोज करता है।

यह आलेख दिखाता है कि लिनक्स सिस्टम में अपने $PATH में निर्देशिका कैसे जोड़ें।

लिनक्स में $PATH क्या है

$PATH पर्यावरण चर निर्देशिकाओं की एक बृहदान्त्र-सीमांकित सूची है जो शेल को बताती है कि कौन सी निर्देशिका निष्पादन योग्य फ़ाइलों की खोज करती है।

यह जांचने के लिए कि आपके $PATH में कौन सी निर्देशिकाएं हैं, आप printenv या echo कमांड का उपयोग कर सकते हैं:

echo $PATH

आउटपुट कुछ इस तरह दिखाई देगा:

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

अपने $PATH एक निर्देशिका जोड़ना

ऐसी परिस्थितियाँ हैं जहाँ आप अन्य निर्देशिकाओं को $PATH चर जोड़ना चाह सकते हैं। उदाहरण के लिए, कुछ कार्यक्रमों को विभिन्न स्थानों पर स्थापित किया जा सकता है या आप अपने व्यक्तिगत स्क्रैप के लिए एक समर्पित निर्देशिका रखना चाहते हैं, लेकिन निष्पादन योग्य फ़ाइलों के लिए पूर्ण पथ निर्दिष्ट किए बिना उन्हें चलाने में सक्षम हो सकते हैं। ऐसा करने के लिए आपको बस निर्देशिका को अपने $PATH जोड़ना होगा।

मान लें कि आपके पास एक निर्देशिका है जिसे bin आपके होम निर्देशिका में स्थित है जिसमें आप अपनी शेल स्क्रिप्ट रखते हैं। अपने $PATH प्रकार में निर्देशिका जोड़ने के लिए:

export PATH="$HOME/bin:$PATH"

export आदेश शेल चर प्रक्रिया वातावरण में संशोधित चर निर्यात करेगा।

अब आप निष्पादन योग्य पूर्ण पथ निर्दिष्ट करने की आवश्यकता के बिना निष्पादन योग्य स्क्रिप्ट नाम टाइप करके अपनी स्क्रिप्ट चला सकते हैं।

हालाँकि, यह परिवर्तन केवल वर्तमान शेल सत्र में केवल अस्थायी और मान्य है।

परिवर्तन को स्थायी बनाने के लिए, आपको शेल कॉन्फ़िगरेशन फ़ाइलों में $PATH चर को परिभाषित करने की आवश्यकता है। अधिकांश लिनक्स वितरणों में जब आप एक नया सत्र शुरू करते हैं, तो पर्यावरण चर निम्नलिखित फाइलों से पढ़े जाते हैं:

  • वैश्विक शेल विशिष्ट कॉन्फ़िगरेशन फ़ाइलें जैसे /etc/environment और /etc/profile । यदि आप चाहते हैं कि नई निर्देशिका सभी सिस्टम उपयोगकर्ताओं को $PATH जोड़ी जाए, तो इस फ़ाइल का उपयोग करें।

    प्रति-उपयोगकर्ता शेल विशिष्ट कॉन्फ़िगरेशन फ़ाइलें। उदाहरण के लिए, यदि आप बैश का उपयोग कर रहे हैं, तो आप ~/.bashrc फ़ाइल में $PATH चर सेट कर सकते हैं और यदि आप Zsh का उपयोग कर रहे हैं तो फ़ाइल का नाम ~/.zshrc

इस उदाहरण में, हम चर को ~/.bashrc फ़ाइल में सेट करेंगे। अपने टेक्स्ट एडिटर के साथ फाइल खोलें और इसके अंत में निम्न पंक्ति जोड़ें:

nano ~/.bashrc ~ /.Bashrc

export PATH="$HOME/bin:$PATH"

फ़ाइल को सहेजें और source कमांड का उपयोग करके वर्तमान शेल सत्र में नए $PATH को लोड करें:

source ~/.bashrc

यह पुष्टि करने के लिए कि निर्देशिका को सफलतापूर्वक जोड़ा गया था, टाइप करके अपने $PATH का मूल्य प्रिंट करें:

echo $PATH

निष्कर्ष

अपने उपयोगकर्ता या वैश्विक $PATH चर में नई निर्देशिकाओं को जोड़ना बहुत सरल है। यह आपको निष्पादन योग्य के लिए पूरा रास्ता टाइप करने की आवश्यकता के बिना गैरमानक स्थानों पर संग्रहीत कमांड और स्क्रिप्ट को निष्पादित करने की अनुमति देता है।

उबंटू, सेंटोस, आरएचईएल, डेबियन और लिनक्स मिंट सहित किसी भी लिनक्स वितरण के लिए समान निर्देश लागू होते हैं।

यदि आपके कोई प्रश्न हैं, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।

टर्मिनल