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
) BM
ilk 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/bash
ilk 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, eog
dosya 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 *.list
uzantı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.css
dezavantaj 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 readme
dosyayla ne yapacağını bilmeyecek , ancak yalnızca bir readme.txt
.