The specification for "file" is as specified in the SUS but with the additional options as specified below.
Do not prepend filenames to output lines
Cause a checking printout of the parsed form of the magic file. This is usually used in conjunction with -m to debug a new magic file before installing it.
Read the names of the files to be examined from namefile (one per line) before the argument list. Either namefile or at least one filename argument must be present; to test the standard input, use `-' as a filename argument.
Causes the file command to output mime type strings rather than the more traditional human readable ones. Thus it may say `text/plain; charset=us-ascii' rather than `ASCII text'. In order for this option to work, file changes the way it handles files recognized by the command itself (such as many of the text file types, directories etc), and makes use of an alternative `magic' file.
Don't stop at the first match, keep going.
Specify an alternate list of files containing magic numbers. This can be a single file, or a colon-separated list of files.
Force stdout to be flushed after checking each file. This is only useful if checking a list of files. It is intended to be used by programs that want filetype output from a pipe.
Try to look inside compressed files.
This option causes symlinks to be followed.
Normally, file only attempts to read and determine the type of argument files which stat(2) reports are ordinary files. This prevents problems, because reading special files may have peculiar consequences. Specifying the -s option causes file to also read argument files which are block or character special files. This is useful for determining the filesystem types of the data in raw disk partitions, which are block special files. This option also causes file to disregard the file size as reported by stat(2) since on some systems it reports a zero size for raw disk partitions.