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.36 needs the following to be installed:
bash: sh
binutils: as, ld
diffutils: cmp
fileutils: chmod, cp, ls, mv, rm
gcc: cc
grep: egrep, grep
make: make
sed: sed
sh-utils: basename, expr, sleep
textutils: cat, tr