Burada% 100 siyah veya beyaz cevap yok.
Genellikle Linux, dosya adlarına (ve dosya uzantılarına, yani normalde son dönemden sonraki dosya adının bir kısmına) dayanmaz ve bunun yerine, içeriğinin ilk birkaç baytını inceleyerek ve bunu bilinen sihirli sayılar listesiyle karşılaştırarak dosya türünü belirler. .
Örneğin, tüm Bitmap görüntü dosyaları (genellikle ad uzantısına sahip .bmp) BMilk iki bayttaki harflerle başlamalıdır . Bash, Python, Perl, AWK, vb. Gibi çoğu betik dilindeki komut dosyaları (temelde #yorum olarak başlayan satırları işleyen her şey ), #!/bin/bashilk satır gibi bir shebang içerebilir . Bu özel yorum sisteme dosyayı hangi uygulamayı açacağını söyler.
Bu nedenle, işletim sistemi normal olarak dosya içeriğine dayanır ve dosya türünü belirleme adına değil, dosya uzantılarının Linux'ta hiçbir zaman gerekli olmadığını belirten gerçeğin sadece yarısıdır.
Uygulamalar elbette, dosya adının ve uzantının doğrulanmasını da içeren dosya denetimlerini istedikleri gibi uygulayabilir. Bunun bir örneği, eogdosya biçimine göre görüntü biçimini belirleyen ve içerikle eşleşmiyorsa bir hata veren Gnome'nin Gözü'dür ( standart resim görüntüleyici). Bunun bir hata mı yoksa bir özellik mi olduğu tartışılabilir ...
Ancak, işletim sisteminin bazı bölümleri bile dosya adı uzantılarına dayanır; örneğin, yazılım kaynak dosyalarınızı ayrıştırırken /etc/apt/sources.list.d/yalnızca *.listuzantıya sahip dosyalar diğerlerinin yok sayılmasını sağlar. Belki de esas olarak buradaki dosya türünü belirlemek için kullanılmıyor, bunun yerine bazı dosyaların ayrıştırılmasını etkinleştirmek / devre dışı bırakmak, ancak hala sistemin bir dosyayı nasıl tedavi ettiğini etkileyen bir dosya uzantısı.
Ve tabii insan kullanıcı kar bariz bir dosya türünü yapar ve aynı zamanda aynı temel adla birden fazla dosya ve benzeri farklı uzantılar verir gibi dosya uzantıları en site.html, site.php, site.js, site.cssdezavantaj tabii vb dosya uzantısı ve gerçek dosya türünün / içeriğinin mutlaka eşleşmesi gerekmez.
Ek olarak, platformlar arası birlikte çalışabilirlik için gereklidir, çünkü Windows bir readmedosyayla ne yapacağını bilmeyecek , ancak yalnızca bir readme.txt.