"मैजिक" यहां " मैजिक नंबरों " को संदर्भित करता है : एक विशेष मूल्य जो एक फ़ाइल में एक ज्ञात स्थान पर है जो अपने प्रकार की पहचान करता है। file
आदेश इन नंबरों के एक डेटाबेस है और वे किस प्रकार के अनुरूप हैं। लाइब्रेरी जो उस डेटाबेस के साथ जाती है, उसे कामेच्छा कहा जाता है , और आप अपने स्वयं के कार्यक्रमों से उस तक पहुंच सकते हैं।
जैसा कि हम उनके बारे में सोच सकते हैं, वे जरूरी "संख्या" नहीं हैं। उदाहरण के लिए, एक PNG छवि फ़ाइल हमेशा "\ x89PNG \ r \ n \ X1a \ n" से शुरू होती है, एक जावा वर्ग चार बाइट्स (हेक्साडेसिमल में) CA FE BA BE से शुरू होता है, और एक HTML फ़ाइल में "html" कहीं है शुरुआत के पास। यह डेटा का सिर्फ कुछ छोटा अनुक्रम है जो उस प्रकार की फ़ाइल में जाना जाता है, आमतौर पर शुरुआत के बहुत करीब।
जब लोग फ़ाइल स्वरूपों को परिभाषित कर रहे होते हैं, तो वे अक्सर इनमें से किसी एक को जानबूझकर या सिर्फ प्रारूप को एक साथ फिट करने के हिस्से के रूप में शामिल करते हैं। file
बाद में उनका उपयोग कर सकते हैं। यह वास्तव में फ़ाइल की सामग्री को देखने के अन्य तरीके भी हैं जो यह अनुमान लगाने के लिए है कि यह क्या है ("भाषा परीक्षण")।
#!
वास्तव में इसका एक उदाहरण है, क्योंकि कर्नेल स्वयं, उन बाइट्स को देखने पर, उस आदेश का आह्वान करने वाला है जो इस प्रकार है।