W systemie Linux rozszerzenie pliku jest częścią nazwy pliku i tak naprawdę nie ma znaczenia dla systemu operacyjnego. Typ MIME to opis zawartości pliku. fred
i fred.txt
oba miałyby typ MIME text/plain
.
Menedżerowie plików, tacy jak Nautilus, używają tego typu MIME, aby wiedzieć, z którym programem otworzyć plik. W terminalu xdg-open
polecenie robi to samo. Jest to jednak poziom przestrzeni użytkownika, a nie poziom systemu operacyjnego.
Pliki tak naprawdę nie zawierają tego typu MIME, ale programy, które je otwierają, używają różnych metod, aby ustalić, jaki jest ten typ MIME. Niektóre polegają tylko na rozszerzeniu pliku, ale większość używa mieszanki technik, w tym patrzenia na dane na początku pliku.
Jeśli początek pliku zawiera tylko bajty, które można przedstawić jako znaki ASCII, można bezpiecznie założyć, że jest to plik tekstowy. Jeśli więc rozszerzenie jest podobne do .html, program zakłada, że jest to strona HTML i dlatego otwiera go w przeglądarce internetowej. To samo działa z binarnymi formatami plików. Na przykład wiem, że format pliku bitmapy zaczyna się od „BMP” w ASCII, po którym następują dane binarne reprezentujące obraz.
Mówiąc prościej, programy Linuksa zgadują na podstawie danych w pliku i jego rozszerzenia. Może to nie wydawać się bardzo wiarygodne, ale zastosowane algorytmy są bardziej skomplikowane niż podane przeze mnie przykłady i są naprawdę bardzo dokładne.