file -- determine file type


file is as specified in the SUS but with additional options as specified below.

LSB Deprecated Differences

The behaviors specified in this section are expected to disappear from a future version of the LSB; applications should only use the non-LSB-deprecated behaviors.

-b, --brief

does not prepend filenames to output lines.

-c, --checking-printout

causes 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.

-f, --files-from namefile

reads 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.

-i, --mime

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.

-k, --keep-going

does not stop at the first match, keeps going.

-m, --magic-file list

specifies an alternate list of files containing magic numbers. This can be a single file, or a colon-separated list of files.

-n, --no-buffer

forces 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.

-z, --uncompress

tries to look inside compressed files.

-L, --dereference

causes symlinks to be followed.

-s, --special-files

causes block or character special files (that are potentially problematic when processed by file) to be read in addition to the argument files ordinarily identified by stat(2). 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.