लिनक्स कमांड-लाइन इंटरफेस का उपयोग करते समय आप जो सबसे महत्वपूर्ण कमांड सीखते हैं उनमें से एक है pwd कमांड, जिसका अर्थ है प्रिंट वर्किंग डायरेक्टरी।
यह गाइड आपको दिखाता है कि pwd कमांड का उपयोग कैसे करें। यह आपको यह भी दिखाता है कि आप जिस डायरेक्टरी में काम कर रहे हैं उसका भौतिक पथ और तार्किक डायरेक्टरी कैसे खोजें।
निर्धारित करें कि आप वर्तमान में किस लिनक्स डायरेक्टरी में हैं
यह पता लगाने के लिए कि आप वर्तमान में किस डायरेक्टरी में हैं, एक कमांड लाइन खोलें, और निम्न कमांड चलाएं:
pwd
pwd कमांड का आउटपुट कुछ इस तरह होगा:
/home/gary
जैसे-जैसे आप सिस्टम में घूमते हैं, वर्किंग डायरेक्टरी फाइल सिस्टम के भीतर आपकी वर्तमान स्थिति को प्रतिबिंबित करने के लिए बदलती रहती है।
उदाहरण के लिए, यदि आप डॉक्यूमेंट्स फ़ोल्डर में नेविगेट करने के लिए cd कमांड का उपयोग करते हैं, तो pwd कमांड निम्न आउटपुट देती है:
/home/gary/documents
सिम्बोलिकली लिंक्ड फ़ोल्डर में नेविगेट करने पर pwd क्या दिखाता है?
इस प्रश्न का उत्तर देने के लिए, हम निम्न परिदृश्य सेट करते हैं।
कल्पना करें कि आपके पास निम्न फ़ोल्डर संरचना है:
- home
- gary
- documents
- folder1
- folder2
- documents
- gary
अब कल्पना करें कि आपने folder 2 के लिए एक सिम्बोलिक लिंक बनाया है, जैसा कि नीचे दिखाया गया है:
ln -s /home/gary/documents/folder2 /home/gary/documents/accounts
फ़ोल्डर ट्री अब इस तरह दिखेगा:
- home
- gary
- documents
- folder1
- folder2
- accounts
- documents
- gary
ls कमांड किसी विशेष स्थान के भीतर फ़ाइलों और फ़ोल्डर्स को दिखाता है:
ls -lt
यदि आपने अपने डॉक्यूमेंट्स फ़ोल्डर के खिलाफ ls कमांड चलाया, तो accounts के लिए यह ऐसा कुछ दिखाएगा:
accounts -> folder2
सिम्बोलिक लिंक फाइल सिस्टम के भीतर किसी अन्य स्थान की ओर इशारा करते हैं।
अब कल्पना करें कि आप डॉक्यूमेंट्स फ़ोल्डर में हैं और आप accounts फ़ोल्डर में जाने के लिए cd कमांड का उपयोग करते हैं। pwd का आउटपुट क्या होगा?
यदि आपने अनुमान लगाया कि यह /home/gary/documents/accounts दिखाएगा, तो आप सही होंगे। लेकिन, यदि आप accounts फ़ोल्डर के खिलाफ ls कमांड चलाते हैं, तो यह आपको folder2 फ़ोल्डर के भीतर की फ़ाइलें दिखाता है।
निम्न कमांड देखें:
pwd -P
जब आप सिम्बोलिकली लिंक्ड फ़ोल्डर के भीतर उपरोक्त कमांड चलाते हैं, तो आप भौतिक स्थान देखते हैं, जो इस मामले में /home/gary/documents/folder2 है।
तार्किक फ़ोल्डर देखने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:
pwd -L
यह कमांड वही फ़ोल्डर दिखाएगा जो pwd कमांड अपने आप दिखाता है, जो कि /home/gary/documents/accounts है।
कमांड डिफ़ॉल्ट रूप से भौतिक पथ या तार्किक पथ दिखाता है या नहीं, यह इस बात पर निर्भर करता है कि आपने अपने सिस्टम पर pwd को कैसे सेट अप और संकलित किया है। इसलिए, सर्वोत्तम अभ्यास है कि -P या -L स्विच का उपयोग करें (जो भी व्यवहार आप देखना चाहते हैं उस पर निर्भर करता है)।
$PWD वेरिएबल का उपयोग कैसे करें
आप $PWD वेरिएबल का मान प्रदर्शित करके वर्तमान वर्किंग डायरेक्टरी देख सकते हैं, जैसा कि नीचे दिखाया गया है:
echo $PWD
पिछली वर्किंग डायरेक्टरी कैसे प्रदर्शित करें
यदि आप पिछली वर्किंग डायरेक्टरी देखना चाहते हैं, तो निम्न कमांड चलाएं:
echo $OLDPWD
आउटपुट उस डायरेक्टरी को प्रदर्शित करता है जिसमें आप वर्तमान डायरेक्टरी में जाने से पहले थे।
pwd के कई घटनाएं
pwd कमांड आपके द्वारा इसे सेट अप करने के आधार पर अलग-अलग व्यवहार कर सकता है। एक अच्छा उदाहरण कुबंटू लिनक्स में है।
pwd का शेल संस्करण, जिसका उपयोग आप pwd कमांड चलाते समय करते हैं, सिम्बोलिकली लिंक्ड फ़ोल्डर के भीतर होने पर तार्किक वर्किंग डायरेक्टरी दिखाता है। यदि आप निम्न कमांड चलाते हैं, हालांकि, आप देखेंगे कि यह सिम्बोलिकली लिंक्ड फ़ोल्डर के भीतर होने पर भौतिक वर्किंग डायरेक्टरी दिखाता है:
/usr/bin/pwd
यह आउटपुट मददगार नहीं है: आप अनिवार्य रूप से वही कमांड चला रहे हैं लेकिन डिफ़ॉल्ट मोड में चलाने पर विपरीत परिणाम प्राप्त कर रहे हैं। इसलिए -P और -L स्विच का उपयोग करने की आदत डालना अच्छा है।
pwd के साथ सहायक स्विच
pwd कमांड के साथ दो और स्विच सहायक हैं। पहला:
pwd --version
...pwd के लिए वर्तमान संस्करण संख्या प्रदर्शित करता है।
जब pwd के शेल संस्करण के खिलाफ चलाया जाता है, तो --version स्विच काम नहीं कर सकता है। हालांकि, यह /bin/pwd संस्करण के खिलाफ काम करेगा।
दूसरा स्विच:
pwd --help
...मैनुअल पेज को टर्मिनल विंडो में प्रदर्शित करता है।
फिर से, यह स्विच pwd के शेल संस्करण के लिए काम नहीं करता, केवल /bin/pwd संस्करण के खिलाफ।