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.