Na verdade, o próprio Linux não se importa com os tipos de arquivo, ele só se importa se um arquivo é executável ou não, e isso é definido pelas propriedades de um arquivo, não pelo conteúdo.
No entanto, a ferramenta file , que é distribuída com o linux, pode ajudar aqui.
file compara o conteúdo do arquivo com um banco de dados e procura uma correspondência.
Vários formatos de arquivo usam números mágicos em seus cabeçalhos, por exemplo, todo arquivo JPEG começa com FFD8 e termina com FFD9 .
Você deve se lembrar que os antigos executáveis do DOS sempre começam com MZ , que é novamente um número mágico.