जवाबों:
निर्मित किए गए पथ का उपयोग करता है, जब आप cd
(और इसे स्टोर करते हैं $PWD
) तो शेल पथ का उपयोग करता है । इसका मतलब है कि यदि आपके पास एक जटिल (गहरे) पथ के लिए एक सहानुभूति है, तो यह आपको बताएगा कि आपने वास्तविक पथ के बजाय उस निर्देशिका में बदलने के लिए क्या टाइप किया था। यह आपको वह देने के लिए किया जाता है जो आप ज्यादातर समय चाहते हैं।
/bin/pwd
getcwd
सिस्टम कॉल का उपयोग करता है (जो इन दिनों एक लाइब्रेरी कॉल, रीडिंग है /proc/self/cwd
) जो वर्तमान निर्देशिका के लिए कैनोनिकल पथ को लौटाता है, सभी सिम्लिंक ट्रैवर्सल्स को छोड़ देता है।
जैसा कि स्टीवन डी ने बताया, अनदेखी करने pwd
का -P
विकल्प है $PWD
। इसमें -L
सामग्री को वापस करने का विकल्प भी है $PWD
। इसके लिए मैन पेज pwd
यह नहीं कहता है कि कौन सा विकल्प डिफ़ॉल्ट रूप से उपयोग किया जाता है, लेकिन अनुभव मुझे बताता है कि उपरोक्त विवरण सही है (शेल pwd
बनाम /bin/pwd
)। हालांकि आपको शायद उस पर भरोसा नहीं करना चाहिए और बस उपयोग करना चाहिए pwd -P
।
/bin/pwd
GNU है pwd
जब POSIXLY_CORRECT सेट नहीं है। POSIX सिस्टम पर जहां pwd
अंदर है /bin
। /bin/pwd
$ PWD का उपयोग करेगा और सिम्बलिंक के साथ पथ वापस कर सकता है। GNU pwd उस POSIX तरीके से व्यवहार करेगा जब उसे अपने वातावरण में POSIXLY_CORRECT वैरिएबल मिलेगा।
man pwd
इस कमांड के विकल्प खोजने के लिए शेल में टाइप करके यह जानकारी आसानी से मिल जाती है ।