Você pode determinar o formato de arquivo usando a file
utility, por exemplo,
$ mimetype /bin/bash
/bin/bash: application/x-executable
$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=17150535c59ef39d9b6db94479a51fcd69942a0c, stripped
A extensão .sh, .exe, .txt, .rar, etc. não tem significado especial no Linux.