file(1)
NAME
file - determine file type
SYNOPSIS
file [-h] [-m mfile] [-f ffile] file...
file [-h] [-m mfile] -f ffile
file -c [-m mfile]
DESCRIPTION
The file utility performs a series of tests on each file
supplied by file and, optionally, on each file listed in
ffile in an attempt to classify it. If the file is not a
regular file, its file type is identified. The file types
directory, FIFO, block special, and character special are
identified as such. If the file is a regular file and the
file is zero-length, it is identified as an empty file.
If file appears to be a text file, file examines the first
512 bytes and tries to determine its programming language.
If file is an executable a.out, file prints the version
stamp, provided it is greater than 0. If file is a symbolic
link, by default the link is followed and file tests the
file to which the symbolic link refers.
By default, file will try to use the localized magic file
/usr/lib/locale/locale/LC_MESSAGES/magic, if it exists, to
identify files that have a magic number. For example, in the
Japanese locale, file will try to use
/usr/lib/locale/ja/LC_MESSAGES/magic. If a localized magic
file does not exist, file will utilize /etc/magic. A magic
number is a numeric or string constant that indicates the
file type. See magic(4) for an explanation of the format of
/etc/magic.
If file does not exist, cannot be read, or its file status
could not be determined, it is not considered an error that
affects the exit status. The output will indicate that the
file was processed, but that its type could not be deter-
mined.
OPTIONS
The following options are supported:
-c Checks the magic file for format errors. For reasons
of efficiency, this validation is normally not carried
out.
-h Does not follow symbolic links.
-f ffile
ffile contains a list of the files to be examined.
-m mfile
Uses mfile as an alternate magic file, instead of
/etc/magic.
OPERANDS
The following operands are supported:
file A path name of a file to be tested.
USAGE
See largefile(5) for the description of the behavior of file
when encountering files greater than or equal to 2 Gbyte ( 2
**31 bytes).
EXAMPLES
Example 1: Binary executable files
Determine if an argument is a binary executable file:
file "$1" | grep -Fq executable &&
printf "%s is executable.\n" "$1"
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of file: LANG, LC_ALL,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
FILES
/etc/magic
file's magic number file
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| CSI | enabled |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
SEE ALSO
ls(1), magic(4), attributes(5), environ(5), largefile(5),
standards(5)
DIAGNOSTICS
If the -h option is specified and file is a symbolic link,
file prints the error message:
symbolic link to file
Man(1) output converted with
man2html