file
File tests each specified file in an attempt to classify it. There are three sets of tests, performed in this order: filesystem tests, magic number tests, and language tests. The first test that succeeds causes the file type to be printed.
File-3.37 needs the following to be installed:
autoconf: autoconf, autoheader
automake: aclocal, automake
bash: sh
binutils: as, ld
diffutils: cmp
fileutils: chmod, install, ln, ls, mv, rm, touch
gcc: cc1, collect2, cpp0, gcc
grep: egrep, grep
m4: m4
make: make
mawk: mawk
sed: sed
sh-utils: echo, expr, hostname, sleep
texinfo: makeinfo
textutils: cat, tr