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