इसके लिए एक सामान्य परिभाषा बाश मैनुअल में नहीं पाई जा सकती है, लेकिन POSIX विनिर्देशन (अनुभाग पथनाम रिज़ॉल्यूशन):
विशेष फ़ाइल नाम डॉट अपने पूर्ववर्ती द्वारा निर्दिष्ट निर्देशिका को संदर्भित करेगा।
खैर, अगर हमारे पास केवल पूर्ववर्ती है तो क्या है .? मैंने महत्वपूर्ण हिस्से पर जोर दिया:
यदि पथनाम स्लैश से शुरू नहीं होता है, तो पथनाम के पहले फ़ाइल नाम के पूर्ववर्ती को प्रक्रिया की वर्तमान कार्यशील निर्देशिका के रूप में लिया जाएगा ।
इसके अलावा,
एक पाथनाम जिसमें कम से कम एक गैर-स्लैश वर्ण होता है और जो एक या अधिक ट्रेलिंग स्लैश के साथ समाप्त होता है, जैसे कि एक एकल डॉट वर्ण ('।') को पथनाम में जोड़ा गया था।
इसलिए, जब आप टाइप करते हैं तो ./इसे हल किया जाता है ./., जो मूल रूप से आपके वर्तमान कार्य निर्देशिका को इंगित करता है। जब आप अपने शेल में कुछ टाइप करते हैं और हिट करते हैं Enter, तो शेल पहले भाग को कमांड के रूप में निष्पादित करने का प्रयास करेगा। (मूल रूप से पहले व्हाट्सएप तक वर्णों का पहला समूह।)
कोई कमांड या निष्पादन योग्य फ़ाइल नहीं है ./., इसलिए यह विफल हो जाएगा और आपको बताएगा कि ./"एक निर्देशिका है"। दिलचस्प बात यह है . है एक कमांड (यह अंतर्निहित रूप में भी पाया है source), इसलिए जब आप सिर्फ टाइप .आप प्राप्त करेंगे: bash: .: filename argument required।
./के रूप में ही है., जो वर्तमान निर्देशिका है। और सिर्फ लिनक्स में या सिर्फ बैश शेल में नहीं।