यदि आप ओएस-अज्ञेयवादी चाहते हैं, तो "फ़ाइल नाम एक्सटेंशन" जैसी कोई चीज नहीं है। कुछ ऑपरेटिंग सिस्टम वास्तव में किसी फ़ाइल को खोलने के लिए प्रोग्राम को निर्धारित करने के लिए इनका उपयोग कर सकते हैं, या यहाँ तक कि उन्हें स्पष्ट रूप से प्रतिबंधित भी कर सकते हैं (अधिकतम 3 वर्णों के साथ FAT)।
लेकिन जानकारी को जादू की संख्या या अन्य आंकड़ों से भी इकट्ठा किया जा सकता है । फ़ाइल नाम एक्सटेंशन केवल मेटाडेटा हैं - जहां डेटा संग्रहीत किया जाता है वह OS बिंदु से कोई फर्क नहीं पड़ता। उदाहरण के लिए, * nix में, एक स्क्रिप्ट फ़ाइल में फ़ाइल के शीर्ष पर एक शेबंग शामिल होता है । शेबंग आपको बताता है कि फ़ाइल को किस दुभाषिए के साथ चलाया जाना चाहिए, जैसे /bin/bash
या /usr/bin/env ruby
, आदि।
* निक्स दुनिया में, एक "बेसनेम" किसी भी प्रमुख घटक (यानी, पिछले सहित पथों /
) के साथ फ़ाइल नाम है । तो, का आधार .txt
होगा .txt
। और का आधार /usr/bin/foo
होगा foo
।
डॉट्स से शुरू होने वाली फाइलों को डॉटफाइल्स कहा जाता है । वे किसी भी तरह से विशेष नहीं हैं कि यूनिक्स जैसे ऑपरेटिंग सिस्टम में वे डिफ़ॉल्ट रूप से निर्देशिका लिस्टिंग से छिपे होने चाहिए। उनका बेसन उनका पूरा नाम है, इसलिए .bashrc
वास्तव में कहा जाता है .bashrc
। एक डॉटफ़ाइल में प्रति एक्सटेंशन नहीं है।
इसलिए, यदि आप ओएस-अज्ञेयवादी रहना चाहते हैं, तो बेसनेम (शब्द के * निक्स अर्थ में) लेने की कोशिश करें और उस स्टोर करें। कुछ भी और हमेशा अस्पष्ट रूप से परिभाषित किया जाएगा।
आप अतिरिक्त रूप से एक एक्सटेंशन निकालने की कोशिश कर सकते हैं, जो पिछले बेस से शुरू होने वाले पूरे बेसन के घटक foo.tar.gz
होंगे , उदाहरण के लिए स्पष्ट रूप से एक .gz
फ़ाइल होगी और नहीं .tar.gz
। केवल जब गज़िप के साथ अनज़िप किया जाता है foo.tar
, तो यह एक हो जाता है , जो टार द्वारा असत्य होगा। और इसी तरह।
.
इंडेक्स 0 है तो यह {नाम का हिस्सा} है अन्यथा यदि अंतिम घटना है तो {एक्सटेंशन}