Ao contrário do Windows, o Linux (e outros sistemas operacionais baseados em Unix) usa Magic Numbers diferenciar entre diferentes tipos de arquivos e, consequentemente, não se preocupa com a extensão do arquivo.
O número mágico (às vezes assinatura do arquivo ) é um padrão que é comparado a um banco de dados para trabalhar com o tipo de arquivo.
Você pode usar o comando file
para determinar o tipo de arquivo:
$ file /usr/bin/bash
/usr/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x2af417cdc1684a2ab609fcab847dfee8cc643713, stripped
ou:
$ file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script, ASCII text executable
Se você renomear um arquivo e alterar sua extensão, ele não será exibido:
$ cp /etc/init.d/network ~/network.jpg
$ file ~/network.jpg
/home/gareth/network.jpg: Bourne-Again shell script, ASCII text executable
$ mv ~/network.jpg ~/network.exe
$ file ~/network.exe
/home/gareth/network.exe: Bourne-Again shell script, ASCII text executable