कुछ भी विशिष्ट मिलान करने के लिए फ़ाइल एक्सटेंशन की कोई आवश्यकता नहीं है, जैसा कि आपने सही ढंग से पता लगाया है।
यूनिक्स जैसी प्रणालियों पर, फ़ाइल प्रकार आमतौर पर फ़ाइल की सामग्री (यानी "जादू नंबर" या पहले कुछ बाइट्स में अन्य विशिष्ट संरचनाओं) से प्राप्त होते हैं, न कि उनके नाम से। आप विस्तार को पूरी तरह से छोड़ सकते हैं, जो अक्सर निष्पादन योग्य के लिए किया जाता है।
file
कमांड को चेक करें , यह आपको वह जानकारी दिखाता है जो इसकी सामग्री से किसी फ़ाइल प्रकार के बारे में पता लगा सकती है।
एक निष्पादन योग्य स्क्रिप्ट के लिए, सिस्टम पहली पंक्ति में एक तथाकथित "शेबंग" की उम्मीद करता है, जो कि उदाहरण के लिए दिखता है
#!/usr/bin/env python3
और संकेत के रूप में स्क्रिप्ट फ़ाइल के साथ दुभाषिया के रूप में चलाने के लिए कौन सा प्रोग्राम इंगित करता है। यदि आप इस तरह के शेबांग के बिना किसी पाठ फ़ाइल को निष्पादित करते हैं, तो यह कोशिश करने और व्याख्या करने के लिए आपके डिफ़ॉल्ट शेल का उपयोग करेगा, यानी बैश।
यूनिक्स / लिनक्स सिस्टम पर, फ़ाइल नाम एक्सटेंशन ज्यादातर मानव उपयोगकर्ता के लिए एक संकेत (लेकिन कोई गारंटी नहीं) हैं जो किसी विशिष्ट फ़ाइल को शामिल करने की उम्मीद करने के लिए जल्दी से पहचानते हैं। यह एक कन्वेंशन भी है जो फाइलों को तेजी से खोजने में मदद कर सकता है।
ध्यान दें कि हालांकि कुछ अपवाद हैं, जहां नाम और विस्तार मायने रखता है (उदाहरण के लिए कुछ सिस्टम फ़ाइलों का नामकरण सम्मेलन का पालन करना चाहिए, या कई छवि दर्शकों और संपादकों को भी फ़ाइल प्रकार को इंगित करने के लिए विस्तार की आवश्यकता होती है)।
आप Do पर भी नज़र डाल सकते हैं -एक्सटेंशन का कोई उद्देश्य (ऑपरेटिंग सिस्टम के लिए) है?