आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं।
लिनक्स पर किसी निर्देशिका या फ़ाइल के आभासी पते को निर्दिष्ट करने के लिए निरपेक्ष और सापेक्ष पथ नाम दो तरीके हैं। लेकिन इन दो पथ प्रकारों में क्या अंतर है, और आपको अपने आदेशों में किसका उपयोग करना चाहिए? चलो पता करते हैं।
लिनक्स में सापेक्ष और निरपेक्ष पथ
यदि आपने कभी सीडी या एलएस जैसे तर्क-आधारित लिनक्स कमांड का उपयोग किया है, तो आपको पता होगा कि निर्देशिका या फ़ाइल के पथ को निर्दिष्ट करने के कई तरीके हैं।
आप या तो सामान्य पथ अभिव्यक्तियों से चिपके रहना पसंद कर सकते हैं या, यदि आप एक उन्नत लिनक्स उपयोगकर्ता हैं, तो किसी फ़ाइल या निर्देशिका नाम को प्रोग्राम में पास करने के लिए जटिल नियमित अभिव्यक्तियाँ नियोजित करें। किसी भी तरह से, लिनक्स पर निर्देशिका पथ निर्दिष्ट करने के केवल दो तरीके हैं: पूर्ण पथ और सापेक्ष पथ।
निरपेक्ष पथ अभिव्यक्तियाँ
एक पूर्ण पथ हमेशा मूल निर्देशिका से शुरू होता है और वास्तविक निर्देशिका या फ़ाइल पर समाप्त होता है जिसे आप इंगित करना चाहते हैं। निरपेक्ष पथ अभिव्यक्ति का उपयोग करते समय, आपको पदानुक्रम के अंदर मौजूद सभी उप-निर्देशिकाओं के नाम टाइप करने होंगे जो अंतिम स्थान तक ले जाते हैं।
उदाहरण के लिए, यदि आप इंगित करना चाहते हैं /myfolder/folder2 के अंदर /var/www निर्देशिका पूर्ण पथ अभिव्यक्ति का उपयोग करते हुए, आप इसका उपयोग करेंगे:
/वर/www/myfolder/folder2
...जहां / अभिव्यक्ति की शुरुआत में लिनक्स पर रूट डायरेक्टरी को संदर्भित करता है।
सापेक्ष पथ अभिव्यक्तियाँ
दूसरी ओर, सापेक्ष पथ, एक पथ अभिव्यक्ति को संदर्भित करता है जो किसी अन्य पथ (आमतौर पर वर्तमान कार्यशील निर्देशिका) का उपयोग रूट या आधार के रूप में करता है। जैसा कि नाम से पता चलता है, यह आपके सिस्टम पर मौजूदा पथ के "सापेक्ष" है।
उदाहरण के लिए, यदि आप वर्तमान में अंदर हैं /var/www निर्देशिका और इंगित करने की आवश्यकता है /myfolder/folder2, आप उपयोग करेंगे:
./myfolder/folder2
...कहाँ . उस वर्तमान निर्देशिका को दर्शाता है जिसमें आप हैं। आप वर्तमान कार्यशील निर्देशिका का उपयोग करके बदल सकते हैं सीडी कमांड.
एक अवधि के अलावा (.), रिलेटिव पाथ एक्सप्रेशंस भी डबल पीरियड्स को नियोजित करते हैं (..) मूल निर्देशिका को संदर्भित करने के लिए।
उदाहरण के लिए, मान लें कि आप अंदर हैं /www निम्नलिखित निर्देशिका संरचना के अंदर फ़ोल्डर:
/वर/www/myfolder/folder2
उपर्युक्त पथ अभिव्यक्ति में, . को निरूपित करेगा /www निर्देशिका जबकि .. की ओर इशारा करेगा /var निर्देशिका। यदि कोई अन्य निर्देशिका है /random अंदर /var जिसे आपको अंदर रहते हुए एक्सेस करना होगा /var/www, आप उपयोग करेंगे:
../अनियमित
इतना ही आसान।
निरपेक्ष बनाम। रिश्तेदार: कौन सा पथ अभिव्यक्ति बेहतर है?
हालाँकि डेस्कटॉप उपयोगकर्ता के रूप में पथ अभिव्यक्ति आपको सरल और महत्वहीन लग सकती है, ऐसे कई उपयोग मामले हैं जहाँ गलत पथ नाम का उपयोग करने से बहुत सी अवांछित असुविधाएँ हो सकती हैं। वेब सर्वर एक अच्छा उदाहरण हैं।
लिनक्स सर्वर पर होस्ट किए गए प्रोजेक्ट पर काम करने वाले वेब डेवलपर के रूप में, आपको प्रोजेक्ट डायरेक्टरी के अंदर फाइलों तक पहुंचने की जरूरत है। यहां, रिलेटिव पाथ एक्सप्रेशन का उपयोग करना मानक है क्योंकि उप-निर्देशिका के नाम या प्रोजेक्ट के डोमेन नाम में कोई भी परिवर्तन टूटे हुए लिंक का कारण बन सकता है।
इसे आप एक साधारण उदाहरण से समझ सकते हैं जिससे डेस्कटॉप उपयोगकर्ता बेहतर तरीके से जुड़ सकते हैं। / चरित्र लिनक्स सिस्टम पर रूट निर्देशिका को दर्शाता है। सोचिए अगर आप अचानक उसे बदल दें और बना लें / चरित्र होम निर्देशिका के लिए बिंदु। पूर्ण पथ अभिव्यक्ति वाले आपके कई आदेश तब से काम करने में विफल रहेंगे / अब एक अलग निर्देशिका में पुन: असाइन किया गया है।
सापेक्ष पथ अभिव्यक्तियों का उपयोग करने का एक अन्य लाभ यह है कि चूंकि वे वर्तमान कार्यशील निर्देशिका से संबंधित हैं, इससे आपका समय बचता है, अन्यथा आप अनावश्यक वर्णों को टाइप करने में खर्च करेंगे।
यहां एकमात्र पकड़ रिश्तेदार अभिव्यक्तियों से जुड़ी जटिलता और सीखने की अवस्था है। लेकिन यह निरपेक्ष पथ भावों में भी सामान्य है; पूर्ण पथों का उपयोग करने में मास्टर बनने के लिए, आपको लिनक्स निर्देशिका पदानुक्रम से अच्छी तरह वाकिफ होना चाहिए। आप उपयोग कर सकते हैं संपूर्ण लिनक्स डायरेक्टरी ट्री को देखने के लिए ट्री कमांड और निरपेक्ष पथ अभिव्यक्ति को अपने लिए आसान बनाएं।
लिनक्स निर्देशिका पदानुक्रम को समझना
लिनक्स निर्देशिका संरचना लिनक्स पर आधारित ऑपरेटिंग सिस्टम चलाने वाली सभी मशीनों के लिए सामान्य है। आपके कंप्यूटर पर फ़ाइलें और फ़ोल्डर कैसे संरचित हैं, इसके बारे में अधिक जानने के लिए आप ls या tree जैसे कमांड का उपयोग कर सकते हैं।