लिनक्स/यूनिक्स में पर्यावरण चरों की सूची

⚡ स्मार्ट सारांश

लिनक्स और यूनिक्स में पर्यावरण चर गतिशील नामित मान होते हैं जो यह निर्धारित करते हैं कि प्रोग्राम और शेल कैसे व्यवहार करते हैं, और आपके पथ, होम डायरेक्टरी, डिफ़ॉल्ट संपादक, भाषा और वर्तमान में उपयोग में आने वाले शेल जैसी सेटिंग्स को संग्रहीत करते हैं।

  • 🌱 वे क्या हैं: पर्यावरण चर गतिशील मान रखते हैं जो प्रक्रियाओं को प्रभावित करते हैं और इन्हें बनाया, संपादित और हटाया जा सकता है।
  • 🧭 पथ: PATH वेरिएबल उन डायरेक्ट्री की सूची बनाता है जिनमें शेल निष्पादन योग्य कमांड को खोजने और चलाने के लिए खोज करता है।
  • 🔎 पठन मान: echo कमांड एक वेरिएबल दिखाता है, जबकि env और printenv सभी पर्यावरण वेरिएबल्स को सूचीबद्ध करते हैं।
  • 🆕 बनाना: NAME=value के साथ एक मान असाइन करें, फिर इसे चाइल्ड प्रक्रियाओं के लिए उपलब्ध कराने के लिए निर्यात का उपयोग करें।
  • हटाना: अनसेट कमांड वर्तमान शेल सत्र से एक वेरिएबल और उसके मान को हटा देता है।
  • 💾 हठ: सत्रों के दौरान वेरिएबल्स को बनाए रखने के लिए ~/.bashrc या /etc/environment में निर्यात लाइनें जोड़ें।
  • 🤖 एआई सहायता: एआई सहायक और गिटहब कोपायलट वेरिएबल्स का ऑडिट कर सकते हैं और उनका उपयोग करने वाले शेल स्क्रिप्ट उत्पन्न कर सकते हैं।

लिनक्स और यूनिक्स में सामान्य पर्यावरण चरों की सूची

किसी भी प्रक्रिया में सबसे पहले जिन चीजों को समझना जरूरी है, उनमें से एक है पर्यावरण चर। Linux ये आपके सिस्टम (जैसे कि यूनिक्स सिस्टम) में मौजूद होते हैं, क्योंकि ये चुपचाप आपके प्रोग्राम और शेल के व्यवहार को नियंत्रित करते हैं। यह गाइड बताती है कि ये क्या हैं, सबसे आम कौन से हैं, और इन्हें कैसे पढ़ा, बनाया और हटाया जा सकता है।

कंप्यूटिंग वातावरण क्या है?

कंप्यूटिंग वातावरण प्लेटफ़ॉर्म है (प्लेटफ़ॉर्म = ऑपरेटिंग सिस्टम + प्रोसेसर) जहां उपयोगकर्ता प्रोग्राम चला सकता है।

चर (वेरिएबल) क्या है?

कंप्यूटर विज्ञान में, चर (वेरिएबल) एक मान को संग्रहित करने का स्थान है, जो फ़ाइल का नाम, पाठ, संख्या या कोई अन्य डेटा हो सकता है। इसे आमतौर पर इसके प्रतीकात्मक नाम से संदर्भित किया जाता है, जो इसे बनाते समय दिया जाता है। संग्रहित मान को बाद में प्रदर्शित, हटाया, संपादित और पुनः सहेजा जा सकता है।

कंप्यूटर प्रोग्रामिंग में वैरिएबल्स की महत्वपूर्ण भूमिका होती है क्योंकि ये प्रोग्रामर्स को लचीले प्रोग्राम लिखने में सक्षम बनाते हैं। चूंकि ये आपके ऑपरेटिंग सिस्टम से जुड़े होते हैं, इसलिए इनमें से कुछ को जानना और उन्हें प्रभावित करने के तरीके जानना महत्वपूर्ण है।

पर्यावरण चर क्या हैं?

पर्यावरण चर गतिशील मान होते हैं जो कंप्यूटर पर प्रक्रियाओं या प्रोग्रामों को प्रभावित करते हैं। ये हर ऑपरेटिंग सिस्टम में मौजूद होते हैं, लेकिन इनके प्रकार भिन्न हो सकते हैं। पर्यावरण चर बनाए, संपादित, सहेजे और हटाए जा सकते हैं, और ये सिस्टम के व्यवहार के बारे में जानकारी प्रदान करते हैं।

पर्यावरण चर सॉफ़्टवेयर और प्रोग्राम के व्यवहार को बदल सकते हैं। उदाहरण के लिए, $LANG पर्यावरण चर उपयोगकर्ता द्वारा समझी जाने वाली भाषा को संग्रहीत करता है। इस मान को एप्लिकेशन द्वारा पढ़ा जाता है ताकि चीनी उपयोगकर्ता को मंदारिन इंटरफ़ेस और अमेरिकी उपयोगकर्ता को अंग्रेज़ी इंटरफ़ेस दिखाया जा सके।

आइए कुछ सामान्य पर्यावरणीय चरों का अध्ययन करें:

परिवर्तनीय विवरण
पथ इस वेरिएबल में कॉलन (:) से अलग की गई उन डायरेक्टरी की सूची होती है जिनमें आपका सिस्टम एक्जीक्यूटेबल फाइलों को खोजता है। जब आप टर्मिनल में कोई कमांड दर्ज करते हैं, तो शेल $PATH वेरिएबल में सूचीबद्ध डायरेक्टरी में उस कमांड को खोजता है। यदि कमांड मिल जाती है, तो वह एक्जीक्यूट हो जाती है। अन्यथा, यह 'कमांड नहीं मिली' त्रुटि के साथ वापस आ जाती है।
USER उपयोगकर्ता नाम
होम उपयोगकर्ता की होम निर्देशिका का डिफ़ॉल्ट पथ
संपादक फ़ाइलों की सामग्री को संपादित करने वाले प्रोग्राम का पथ
यूआईडी उपयोगकर्ता की विशिष्ट आईडी
कार्यकाल डिफ़ॉल्ट टर्मिनल एमुलेटर
शेल उपयोगकर्ता द्वारा उपयोग किया जा रहा शैल

चर मानों तक पहुँचना

किसी वेरिएबल का मान निर्धारित करने के लिए, echo कमांड का उपयोग करें:

echo $VARIABLE

उदाहरण के लिए, नीचे दिया गया स्क्रीनशॉट इको कमांड के साथ प्रदर्शित PATH वेरिएबल का मान दिखाता है।

echo कमांड के साथ PATH वेरिएबल का मान प्रदर्शित करना

किसी भी एनवायरनमेंट वेरिएबल को इसी तरह पढ़ा जा सकता है। नीचे दिया गया आउटपुट दिखाता है कि echo एक वेरिएबल का मान लौटा रहा है।

इको कमांड का आउटपुट एक पर्यावरण चर का मान दर्शाता है

वेरिएबल केस-सेंसिटिव होते हैं, इसलिए वेरिएबल का नाम सही केस में टाइप करें; अन्यथा आपको अपेक्षित परिणाम नहीं मिलेगा। सभी एनवायरनमेंट वेरिएबल को एक साथ सूचीबद्ध करने के लिए, नीचे दिखाए गए अनुसार env कमांड का उपयोग करें।

env कमांड टर्मिनल में सभी पर्यावरण चरों को सूचीबद्ध करता है।

नए पर्यावरण चर सेट करें

आप इस सिंटैक्स का उपयोग करके अपना स्वयं का उपयोगकर्ता-परिभाषित चर बना सकते हैं:

VARIABLE_NAME=variable_value

याद रखें कि वेरिएबल के नाम केस-सेंसिटिव होते हैं और आमतौर पर अपरकेस में लिखे जाते हैं। इस तरह बनाया गया वेरिएबल एक लोकल शेल वेरिएबल होता है जिसे केवल वर्तमान शेल ही देख सकता है। इसे एक एनवायरनमेंट वेरिएबल में बदलने के लिए, जिसे चाइल्ड प्रोसेस भी इनहेरिट कर सकें, एक्सपोर्ट कमांड का उपयोग करें:

export VARIABLE_NAME=value

नीचे दिए गए स्क्रीनशॉट में एक नया वेरिएबल बनाया जा रहा है और फिर उसे इको कमांड के साथ प्रदर्शित किया जा रहा है।

एक नया उपयोगकर्ता-परिभाषित पर्यावरण चर बनाना और प्रदर्शित करना

चर हटाना

निम्नांकित वाक्य प्रणाली से एक चर को हटाता है:

unset variablename

यह वेरिएबल और उसके मान को वर्तमान शेल सत्र से हटा देता है, जैसा कि नीचे दिखाया गया है।

unset कमांड का उपयोग करके पर्यावरण चर को हटाना

अक्सर पूछे जाने वाले प्रश्न

शेल वेरिएबल केवल वर्तमान शेल में ही मौजूद होता है और इसे अन्य प्रोग्रामों को पास नहीं किया जाता है। एनवायरनमेंट वेरिएबल एक ऐसा शेल वेरिएबल होता है जिसे एक्सपोर्ट किया गया होता है, इसलिए उस शेल से शुरू होने वाली चाइल्ड प्रोसेस इसे इनहेरिट करती हैं। वेरिएबल को प्रमोट करने के लिए एक्सपोर्ट कमांड का उपयोग करें।

टर्मिनल में सेट किए गए वैरिएबल सेशन बंद करने पर गायब हो जाते हैं। इन्हें बनाए रखने के लिए, स्टार्टअप फ़ाइल में export लाइन जोड़ें: एक उपयोगकर्ता के लिए ~/.bashrc या ~/.profile में, या सिस्टम पर सभी उपयोगकर्ताओं के लिए /etc/environment में। इसे लागू करने के लिए फ़ाइल को रीलोड करें या टर्मिनल को दोबारा खोलें।

नई डायरेक्टरी को मौजूदा PATH में जोड़ें ताकि वह ओवरराइट न हो: export PATH=$PATH:/your/new/directory। इससे आपका फ़ोल्डर शेल द्वारा कमांड खोजे जाने वाली सूची में जुड़ जाएगा। बदलाव को नए सेशन में बनाए रखने के लिए यही लाइन ~/.bashrc में भी डालें।

printenv कमांड केवल पर्यावरण चरों को सूचीबद्ध करता है और केवल एक चर दिखा सकता है, जैसे कि printenv HOME। env कमांड भी पर्यावरण चरों को सूचीबद्ध करता है और संशोधित पर्यावरण के साथ एक प्रोग्राम चला सकता है। set कमांड सब कुछ दिखाता है, जिसमें शेल चर और फ़ंक्शन भी शामिल हैं, न कि केवल निर्यातित चर।

इसका सामान्य अर्थ यह है कि आपने PATH में जोड़ने के बजाय उसे ओवरराइट कर दिया है, इसलिए शेल अब मानक कमांड नहीं ढूंढ पा रहा है। PATH सेट करते समय हमेशा $PATH शामिल करें। वर्तमान सत्र में वापस आने के लिए, export PATH=/usr/local/bin:/usr/bin:/bin कमांड चलाएं, फिर अपनी स्टार्टअप फ़ाइल को ठीक करें।

यह सुविधाजनक तो है, लेकिन जोखिम भरा भी। एनवायरनमेंट वेरिएबल को /proc से पढ़ा जा सकता है, ये चाइल्ड प्रोसेस द्वारा इनहेरिट किए जाते हैं, और अक्सर लॉग या क्रैश रिपोर्ट में लीक हो जाते हैं। संवेदनशील गोपनीय डेटा के लिए, एक साधारण वेरिएबल के बजाय एक समर्पित सीक्रेट मैनेजर या सीमित अनुमतियों वाली एन्क्रिप्टेड फ़ाइल का उपयोग करना बेहतर है।

कृत्रिम बुद्धिमत्ता सहायक अपरिचित चर के कार्य को समझा सकते हैं, विन्यास फ़ाइलों में गुम या दोहराई गई प्रविष्टियों की जाँच कर सकते हैं, और चरों में गलती से उजागर हुए गुप्त डेटा को चिह्नित कर सकते हैं। मशीन-लर्निंग उपकरण कई सर्वरों में फैले प्रक्रिया वातावरण को स्कैन करके उन गलत विन्यासों का पता लगा सकते हैं जिनकी मैन्युअल रूप से समीक्षा करना कठिन होगा।

हां. गिटहब कोपिलॉट यह एक्सपोर्ट स्टेटमेंट, ~/.bashrc में बदलाव और $HOME या $PATH जैसे वैरिएबल पढ़ने वाले शेल स्क्रिप्ट जनरेट कर सकता है। टाइप करते समय यह सिंटैक्स का सुझाव देता है, हालांकि क्रेडेंशियल से संबंधित किसी भी कोड को चलाने से पहले उसकी समीक्षा अवश्य कर लें।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: