Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

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

लिनक्स उपयोगकर्ताओं के वातावरण को दो प्रमुख तरीकों से बनाने या बनाए रखने की अनुमति देता है:सिस्टम-वाइड (वैश्विक) और उपयोगकर्ता-विशिष्ट (व्यक्तिगत) कॉन्फ़िगरेशन का उपयोग करना। आम तौर पर, लिनक्स सिस्टम के साथ काम करने का मूल तरीका शेल है, और शेल एक सफल उपयोगकर्ता लॉगिन के बाद इसके आरंभीकरण के दौरान पढ़ी गई कुछ फाइलों के आधार पर एक वातावरण बनाता है।

सुझाया गया पढ़ें: Linux में पर्यावरण चर कैसे सेट करें

इस लेख में, हम लिनक्स में स्थानीय उपयोगकर्ता प्रबंधन के लिए उपयोगकर्ता प्रोफाइल के संबंध में शेल इनिशियलाइज़ेशन फ़ाइलों की व्याख्या करेंगे। हम आपको बताएंगे कि कस्टम शेल फ़ंक्शन, उपनाम, चर के साथ-साथ स्टार्टअप प्रोग्राम कहां रखें।

महत्वपूर्ण :इस लेख के प्रयोजन के लिए, हम बैश . पर ध्यान केंद्रित करेंगे , एक संगत शेल जो कि लिनक्स सिस्टम पर सबसे लोकप्रिय/प्रयुक्त शेल है।

यदि आप एक अलग शेल (zsh, ash, fish आदि..) प्रोग्राम का उपयोग कर रहे हैं, तो कुछ संबंधित फाइलों के बारे में अधिक जानने के लिए इसके दस्तावेज़ीकरण को पढ़ें, जिनके बारे में हम यहां बात करेंगे।

लिनक्स में शेल इनिशियलाइज़ेशन

जब शेल का आह्वान किया जाता है, तो कुछ इनिशियलाइज़ेशन/स्टार्टअप फाइलें होती हैं जो इसे पढ़ती हैं जो शेल और सिस्टम उपयोगकर्ता के लिए एक वातावरण स्थापित करने में मदद करती हैं; जो पूर्वनिर्धारित (और अनुकूलित) कार्य, चर, उपनाम आदि है।

शेल द्वारा पढ़ी जाने वाली इनिशियलाइज़ेशन फ़ाइलों की दो श्रेणियां हैं:

  • सिस्टम-व्यापी स्टार्टअप फ़ाइलें - थीसिस में वैश्विक कॉन्फ़िगरेशन होते हैं जो सिस्टम के सभी उपयोगकर्ताओं पर लागू होते हैं, और आमतौर पर /etc में स्थित होते हैं निर्देशिका। उनमें शामिल हैं:/etc/प्रोफाइल और /etc/bashrc या /etc/bash.bashrc
  • उपयोगकर्ता-विशिष्ट स्टार्टअप फ़ाइलें - ये स्टोर कॉन्फ़िगरेशन जो सिस्टम पर एकल उपयोगकर्ता पर लागू होते हैं और सामान्य रूप से उपयोगकर्ता होम निर्देशिका में डॉट फ़ाइलों के रूप में स्थित होते हैं। वे सिस्टम-व्यापी कॉन्फ़िगरेशन को ओवरराइड कर सकते हैं। उनमें शामिल हैं:.प्रोफाइल , .bash_profile , .bashrc और .bash_login

फिर से, शेल को तीन संभावित मोड में लागू किया जा सकता है:

<एच4>1. इंटरएक्टिव लॉगिन शेल

/bin/login . का उपयोग करते हुए, उपयोगकर्ता द्वारा सिस्टम में सफलतापूर्वक लॉगिन करने के बाद शेल को लागू किया जाता है , /etc/passwd . में संग्रहीत क्रेडेंशियल पढ़ने के बाद फ़ाइल।

जब शेल को एक इंटरैक्टिव लॉगिन शेल के रूप में शुरू किया जाता है, तो यह /etc/profile . पढ़ता है और इसके उपयोगकर्ता-विशिष्ट समकक्ष ~/.bash_profile

लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना <एच4>2. इंटरएक्टिव गैर-लॉगिन शेल

शेल प्रोग्राम को शेल प्रोग्राम का उपयोग करके कमांड-लाइन पर शुरू किया जाता है उदाहरण के लिए $/bin/bash या $/bin/zsh . इसे /bin/su . चलाकर भी शुरू किया जा सकता है आदेश।

इसके अतिरिक्त, एक अंतःक्रियात्मक गैर-लॉगिन शेल को टर्मिनल प्रोग्राम जैसे konsole के साथ भी लागू किया जा सकता है , टर्मिनेटर या एक ग्राफिकल वातावरण के भीतर से xterm।

जब इस स्थिति में शेल शुरू होता है, तो यह मूल शेल के वातावरण की प्रतिलिपि बनाता है, और उपयोगकर्ता-विशिष्ट ~/.bashrc पढ़ता है अतिरिक्त स्टार्टअप कॉन्फ़िगरेशन निर्देशों के लिए फ़ाइल।

$ su
# ls -la
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना <एच4>3. गैर-संवादात्मक शैल

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

सिस्टम-व्यापी शैल स्टार्टअप फ़ाइलों को समझना

इस खंड में, हम शेल स्टार्टअप फ़ाइलों पर अधिक प्रकाश डालेंगे जो सिस्टम पर सभी उपयोगकर्ताओं के लिए कॉन्फ़िगरेशन संग्रहीत करती हैं और इनमें शामिल हैं:

/etc/प्रोफ़ाइल फ़ाइल - यह लॉगिन सेटअप के लिए सिस्टम-वाइड एनवायरनमेंट कॉन्फिगरेशन और स्टार्टअप प्रोग्राम को स्टोर करता है। सभी कॉन्फ़िगरेशन जिन्हें आप सभी सिस्टम उपयोगकर्ताओं के परिवेशों पर लागू करना चाहते हैं, इस फ़ाइल में जोड़े जाने चाहिए।

उदाहरण के लिए, आप यहां अपना वैश्विक पाथ पर्यावरण चर सेट कर सकते हैं।

# cat /etc/profile
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

नोट :कुछ सिस्टम जैसे RHEL/CentOS 7 . में , आपको ऐसी चेतावनियाँ मिलेंगी जैसे "इस फ़ाइल को बदलने की अनुशंसा नहीं की जाती है जब तक कि आप यह नहीं जानते कि आप क्या कर रहे हैं। कस्टम .sh . बनाना बेहतर है शेल स्क्रिप्ट में /etc/profile.d/ अपने परिवेश में कस्टम परिवर्तन करने के लिए, क्योंकि यह भविष्य के अपडेट में विलय करने की आवश्यकता को रोकेगा”।

/etc/profile.d/ निर्देशिका - आपके वातावरण में कस्टम परिवर्तन करने के लिए उपयोग की जाने वाली शेल स्क्रिप्ट को संग्रहीत करता है:

# cd /etc/profile.d/
# ls  -l 
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

/etc/bashrc या /etc/bash.bashrc फ़ाइल - सभी सिस्टम उपयोगकर्ताओं पर लागू होने वाले अन्य कॉन्फ़िगरेशन सहित सिस्टम-व्यापी फ़ंक्शन और उपनाम शामिल हैं।

यदि आपके सिस्टम में कई प्रकार के शेल हैं, तो इस फ़ाइल में बैश-विशिष्ट कॉन्फ़िगरेशन डालना एक अच्छा विचार है।

# cat /etc/bashrc
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

उपयोगकर्ता-विशिष्ट शेल स्टार्टअप फ़ाइलों को समझना

इसके बाद, हम उपयोगकर्ता-विशिष्ट शेल (बैश) स्टार्टअप डॉट फ़ाइलों के बारे में अधिक बताएंगे, जो सिस्टम पर किसी विशेष उपयोगकर्ता के लिए कॉन्फ़िगरेशन संग्रहीत करते हैं, वे उपयोगकर्ता के होम डायरेक्टरी में स्थित होते हैं और उनमें शामिल होते हैं:

# ls -la
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

~/.bash_profile फ़ाइल - यह उपयोगकर्ता विशिष्ट वातावरण और स्टार्टअप प्रोग्राम कॉन्फ़िगरेशन को संग्रहीत करता है। आप अपना कस्टम पाथ पर्यावरण चर यहां सेट कर सकते हैं, जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है:

# cat ~/.bash_profile
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

~/.bashrc फ़ाइल - यह फ़ाइल उपयोगकर्ता विशिष्ट उपनामों और कार्यों को संग्रहीत करती है।

# cat ~/.bashrc
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

~/.bash_login फ़ाइल - इसमें विशिष्ट कॉन्फ़िगरेशन होते हैं जो सामान्य रूप से केवल तभी निष्पादित होते हैं जब आप सिस्टम में लॉग इन करते हैं। जब ~/.bash_profile अनुपस्थित है, यह फ़ाइल बैश द्वारा पढ़ी जाएगी।

~/.प्रोफ़ाइल फ़ाइल - यह फ़ाइल ~/.bash_profile . की अनुपस्थिति में पढ़ी जाती है और ~/.bash_login; यह उन्हीं विन्यासों को संग्रहीत कर सकता है, जिन्हें सिस्टम पर अन्य शेल द्वारा भी पहुँचा जा सकता है। क्योंकि हमने यहां मुख्य रूप से बैश के बारे में बात की है, ध्यान दें कि अन्य शेल बैश सिंटैक्स को नहीं समझ सकते हैं।

इसके बाद, हम दो अन्य महत्वपूर्ण उपयोगकर्ता विशिष्ट फाइलों के बारे में भी बताएंगे जो जरूरी नहीं कि बैश इनिशियलाइज़ेशन फाइलें हों:

~/.bash_history फ़ाइल - बैश सिस्टम पर उपयोगकर्ता द्वारा दर्ज किए गए आदेशों का इतिहास रखता है। आदेशों की यह सूची उपयोगकर्ता की होम निर्देशिका में ~/.bash_history में रखी जाती है फ़ाइल।

इस सूची को देखने के लिए टाइप करें:

$ history 
or 
$ history | less
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

~/.bash_logout फ़ाइल - इसका उपयोग शेल स्टार्टअप के लिए नहीं किया जाता है, लेकिन लॉगआउट प्रक्रिया के लिए उपयोगकर्ता विशिष्ट निर्देशों को संग्रहीत करता है। इसे तब पढ़ा और निष्पादित किया जाता है जब कोई उपयोगकर्ता किसी इंटरैक्टिव लॉगिन शेल से बाहर निकलता है।

एक व्यावहारिक उदाहरण लॉगआउट पर टर्मिनल विंडो को साफ़ करना होगा। दूरस्थ कनेक्शन के लिए यह महत्वपूर्ण है, जो उन्हें बंद करने के बाद एक साफ विंडो छोड़ देगा:

# cat bash_logout 
लिनक्स में शेल इनिशियलाइज़ेशन फाइल्स और यूजर प्रोफाइल को समझना

अतिरिक्त जानकारी के लिए, इन शेल इनिशियलाइज़ेशन फ़ाइलों की सामग्री को विभिन्न लिनक्स डिस्ट्रोज़ पर चेकआउट करें और बैश मैन पेज के माध्यम से भी पढ़ें:

अभी के लिए इतना ही! इस लेख में, हमने लिनक्स में शेल स्टार्टअप/आरंभीकरण फाइलों के बारे में बताया। हमें वापस लिखने के लिए नीचे दिए गए टिप्पणी फ़ॉर्म का उपयोग करें।


  1. Linux Newbies और व्यवस्थापकों के लिए 4 निःशुल्क शैल स्क्रिप्टिंग ई-पुस्तकें

    सिस्टम व्यवस्थापन सूचना प्रौद्योगिकी की एक शाखा है जो बहु-उपयोगकर्ता कंप्यूटर सिस्टम और सर्वर के विश्वसनीय संचालन से संबंधित है। एक व्यक्ति जो बहुउपयोगकर्ता कंप्यूटर सिस्टम और सर्वर के विश्वसनीय संचालन के लिए जिम्मेदार होता है उसे सिस्टम एडमिनिस्ट्रेटर . कहा जाता है . एक सिस्टम एडमिनिस्ट्रेटर जिसक

  1. शेल स्क्रिप्टिंग में 'लिनक्स वेरिएबल्स' को समझना और लिखना - भाग 10

    लिनक्स शेल स्क्रिप्टिंग भाषा हमेशा एक गर्म विषय रहा है और हमेशा भविष्य में रहेगा। शेल स्क्रिप्टिंग भाषा जादुई है और किसी भी अन्य भाषा की तरह स्क्रिप्टिंग भाषा में प्रोग्राम करना इतना आसान है। हालांकि, हम क्या कर रहे हैं और परिणाम क्या अपेक्षित है, इसकी गहन जानकारी की आवश्यकता है। सभी शेल स्क्रिप्ट

  1. ls फाइलों और निर्देशिकाओं को सूचीबद्ध करने के लिए लिनक्स में कमांड

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