The unix file command uses a \"magic\" file database to determine which type of data a file contains, independently of the file\'s name or extension.
I
You can man magic for a description for how to create your own magic file. Then use file -C -m <your magic file> to compile it, and file -m <your magic file> to use it.
I'm using the following magic file now for my unit tests:
0 search/1/c =<?php PHP script text
!:mime text/x-unittest
With it, every php file (beginning with <?php) will get the MIME type text/x-unittest.
Also see http://cweiske.de/tagebuch/custom-magic-db.htm
In this article: https://linux.die.net/man/1/file (or man file)
search for magic.mgc for explanation
The information identifying these files is read from the compiled magic file /usr/share/file/magic.mgc, or
/usr/share/file/magicif the compile file does not exist. In addition file will look in $HOME/.magic.mgc, or$HOME/.magicfor magic entries.