私は、Kernighan と Pike によるやや時代遅れの (それでもかなり良い) "The Unix Programming Environment" を読んでいます。46 ページの、ファイルのファイルタイプを推測する「ファイル」プログラムの説明の中で、著者は、実行可能ファイルは最初に 8 進ビット「410」でマークされていると主張しています。つまり、プログラムの od 呼び出しは、
000000 000410 .....etc
.... etc
.
ただし、最新のインストールで実行可能ファイルで od を呼び出すと、それらは 000410 で始まりません。ただし、すべて次のバイト文字列で始まるようです (2 つの C プログラムと Haskell プログラムを od しました)。
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 ....
その後、ファイルが異なります。
ubuntuで「これは実行可能」バイトとして機能する一連のバイトを実際に見つけたのか、そしてなぜ今日のbyte-start-thingie規則が異なるのか疑問に思っていました。
ありがとうございました