Linuxシステム(またはBSDなどの他の従来のUNIXライクなシステム)を頻繁に使用したことがある場合は、実行可能ファイルを含め、多くの種類のファイルに拡張子がないことに気付くでしょう。
Linuxおよびその他の*nixシステムは、ファイルのタイプを判別するためにファイルの拡張子以外の方法に依存する傾向があります(多くのファイル形式にある最初のマジックコードなど)。'file'ユーティリティ(Windows以外のほとんどのオペレーティングシステムにプリインストールされている)を備えたシステムがある場合は、これをテストできます。
ファイルにREADMEなどの名前を付けて、拡張子を付けないという慣習は、かなり昔にさかのぼります。コンソールで作業するときは、次のようprogram ./path/to/file
にしてファイルを開く傾向があります。ここで、「program」は開きたいプログラムの名前であり、「。/ path / to/file」はファイルへのパスです。開きたい(この場合は相対的、または絶対的)。特定のプログラムにファイルを開くように指示しているので、開くプログラムを決定するために実際の検出を行う必要はありません(ただし、最近のテキストプログラムでは、テキスト以外のファイルを検出して警告を表示することがよくあります)。
一方、Windowsは、ファイル拡張子を特定のプログラムに関連付けて開きます。開くプログラムを決定するためにファイルの内容を調べることはありません。Windowsで拡張子のないファイルを開くには、ファイルを右クリックするだけで、開くプログラムを選択できます。
Linux(およびその他の* nix OS)のグラフィカル環境では、ファイルのタイプやそれに関連付けるプログラムを決定するために拡張子だけに依存しないため、ファイル拡張子は必要ありません。代わりに、関連付けはMIMEタイプによって決定され、MIMEタイプは、前述の「マジックコード」によって決定できます。