निर्देशिका "//" क्या है?


12

विभिन्न लिनक्स मशीनों पर आप कर सकते हैं

cd /

तथा

cd //

शेल कहेगा कि संबंधित कमांड का उपयोग करने के बाद वर्तमान निर्देशिका '/' या '//' है।

तो सवाल यह है: '/' और '//' में क्या अंतर है, और यदि उत्तर 'कोई अंतर नहीं' है तो '//' को '/' से अलग क्यों दिखाया गया है

BTW

cd ///
cd ////
cd /////

वर्तमान निर्देशिका '/' कहे जाने वाले शेल के सभी परिणाम हैं

एक उदाहरण सत्र:

[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$ cd //
[user@host //]$ cd /
[user@host /]$

2
यह एक बैश-विशिष्ट विसंगति प्रतीत होती है। यदि आप cd //csh या zsh में कोशिश करते हैं और तब pwdयह सिर्फ '/' दिखाएगा
डग हैरिस

दिलचस्प है - जो इस पर कुछ प्रकाश डालता है
सिल्वानार

1
तुलना के लिए: cd //usr/bin"// usr / bin" cd /usr//binदेता है , लेकिन "/ usr / bin" (बाश में) देता है।
अगली सूचना तक रोक दिया गया।

जवाबों:


14

आइए खुद से आदमी से पूछें (चेस्टर रमी):

E10) 'cd //' $ PWD को '//' के रूप में क्यों छोड़ता है?

POSIX.2, 'cd' के अपने विवरण में, कहता है कि तीन या अधिक अग्रणी स्लैश को एक ही स्लैश से बदला जा सकता है जब वर्तमान कार्यशील निर्देशिका को कैनोनिकलाइज़ किया जाता है।

ऐतिहासिक अनुकूलता के लिए, मैं यह मानता हूं। यूनिक्स के कुछ संस्करणों और शुरुआती नेटवर्क फ़ाइल सिस्टम, सर्वर 'होस्टनाम' पर 'पथ' तक पहुंचने के लिए फॉर्म // होस्टनाम / पथ के पथ का उपयोग करते थे।


जॉन टी। से एक बेहतर उत्तर (पहले से ही बहुत अच्छा)
innaM

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.