ไม่มีคำตอบขาวดำหรือสีขาว 100%
โดยปกติแล้ว Linux ไม่พึ่งพาชื่อไฟล์ (และนามสกุลไฟล์เช่นส่วนหนึ่งของชื่อไฟล์หลังจากช่วงเวลาสุดท้ายตามปกติ) และกำหนดประเภทไฟล์โดยการตรวจสอบสองสามไบต์แรกของเนื้อหาและเปรียบเทียบกับรายการหมายเลขมายากลที่รู้จัก.
ตัวอย่างเช่นไฟล์ภาพบิตแมปทั้งหมด (โดยปกติจะมีนามสกุลเป็นชื่อ.bmp
) จะต้องเริ่มต้นด้วยตัวอักษรBM
ในสองไบต์แรก สคริปต์ในภาษาสคริปต์ส่วนใหญ่เช่น Bash, Python, Perl, AWK และอื่น ๆ (โดยทั่วไปทุกอย่างที่ปฏิบัติกับบรรทัดที่เริ่มต้นด้วย#
ความคิดเห็น) อาจมี Shebang เหมือนกับ#!/bin/bash
บรรทัดแรก ความคิดเห็นพิเศษนี้จะบอกระบบว่าแอพพลิเคชั่นใดที่จะเปิดไฟล์
ตามปกติระบบปฏิบัติการจะอาศัยเนื้อหาไฟล์และไม่ใช่ชื่อเพื่อกำหนดประเภทไฟล์ แต่การระบุว่าไม่จำเป็นต้องใช้นามสกุลไฟล์บน Linux จึงเป็นเพียงครึ่งหนึ่งของความจริง
แอปพลิเคชันอาจใช้การตรวจสอบไฟล์ของพวกเขาตามที่ต้องการซึ่งรวมถึงการตรวจสอบชื่อไฟล์และนามสกุล ตัวอย่างคือ Eye of Gnome ( eog
โปรแกรมดูรูปภาพมาตรฐาน) ซึ่งกำหนดรูปแบบรูปภาพโดยนามสกุลไฟล์และส่งข้อผิดพลาดหากไม่ตรงกับเนื้อหา ไม่ว่าจะเป็นข้อบกพร่องหรือคุณสมบัติสามารถพูดคุย ...
อย่างไรก็ตามแม้บางส่วนของระบบปฏิบัติการจะขึ้นอยู่กับนามสกุลของไฟล์เช่นเมื่อทำการวิเคราะห์ไฟล์ของซอฟต์แวร์ในไฟล์/etc/apt/sources.list.d/
- เฉพาะไฟล์ที่มี*.list
นามสกุลเท่านั้นที่จะถูกวิเคราะห์คำอื่น ๆ ทั้งหมดจะถูกละเว้น อาจไม่ได้ใช้เพื่อระบุประเภทไฟล์ที่นี่เป็นหลัก แต่เป็นการเปิด / ปิดใช้งานการแยกวิเคราะห์ไฟล์บางไฟล์ แต่ก็ยังเป็นนามสกุลไฟล์ที่มีผลต่อวิธีที่ระบบปฏิบัติกับไฟล์
และแน่นอนว่าผลกำไรของผู้ใช้ของมนุษย์มากที่สุดจากนามสกุลไฟล์เป็นที่ทำให้ประเภทของไฟล์ที่เห็นได้ชัดและยังช่วยให้หลายไฟล์ที่มีชื่อฐานเดียวกันและนามสกุลที่แตกต่างกันเช่นsite.html
, site.php
, site.js
, site.css
ขยาย ฯลฯ ข้อเสียคือแน่นอนว่าไฟล์และที่เกิดขึ้นจริง ประเภทไฟล์ / เนื้อหาไม่จำเป็นต้องตรงกัน
นอกจากนี้ยังจำเป็นสำหรับข้ามแพลตฟอร์มการทำงานร่วมกันเป็นเช่น Windows จะไม่ทราบว่าจะทำอย่างไรกับreadme
ไฟล์ readme.txt
แต่เพียง