User Commands file(1)
NAME
file - determine file type
SYNOPSIS
/usr/bin/file [-dh] [-m mfile] [-M Mfile] [-f ffile] file...
/usr/bin/file [-dh] [-m mfile] [-M Mfile] -f ffile
/usr/bin/file -i [-h] [-f ffile] file...
/usr/bin/file -i [-h] -f ffile
/usr/bin/file -c [-d] [-m mfile] [-M Mfile]
/usr/xpg4/bin/file [-dh] [-m mfile] [-M Mfile] [-f ffile] file...
/usr/xpg4/bin/file [-dh] [-m mfile] [-M Mfile] -f ffile
/usr/xpg4/bin/file -i [-h] [-f ffile] file...
/usr/xpg4/bin/file -i [-h] -f ffile
/usr/xpg4/bin/file -c [-d] [-m mfile] [-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 areidentified 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 a symbolic link, by default the link is followed
and file tests the file to which the symbolic link refers.
If file is a relocatable object, executable, or shared
object, file prints out information about the file's
SunOS 5.11 Last change: 15 May 2006 1
User Commands file(1)
execution requirements. This information includes themachine class, byte-ordering, static/dynamic linkage, and
any software or hardware capability requirements. If file is
a runtime linking configuration file, file prints informa-
tion about the target platform, including the machine classand byte-ordering.
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 thefile 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 thefile 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 nor-
mally not carried out.-d Applies any position-sensitive and context-
sensitive default system tests to the file.
-f ffile ffile contains a list of the files to be exam-
ined.-h When a symbolic link is encountered, this option
identifies the file as a symbolic link. If -h is
not specified and file is a symbolic link that
refers to a non-existent file, the file utility
identifies the file as a symbolic link, as if -h
had been specified.-i If a file is a regular file, this option does
not attempt to classify the type of file
further, but identifies the file as a "regular
SunOS 5.11 Last change: 15 May 2006 2
User Commands file(1)
file".
-m mfile
/usr/bin/file Uses mfile as an alternate
magic file, instead of
/etc/magic./usr/xpg4/bin/file Specifies the name of a
file containing position-
sensitive tests that areapplied to a file in order
to classify it (seemagic(4)). If the -m
option is specifiedwithout specifying the -d
option or the -M option,
position-sensitive default
system tests are appliedafter the position-
sensitive tests specifiedby the -m option.
-M Mfile Specifies the name of a file containing
position-sensitive tests that are applied to a
file in order to classify it (see magic(4)). No
position-sensitive default system tests nor
context-sensitive default system tests are
applied unless the -d option is also specified.
If the -M option is specified with the -d option, the -m
option, or both, or if the -m option is specified with the
-d option, the concatenation of the position-sensitive tests
specified by these options is applied in the order specified by the appearance of these options. 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).SunOS 5.11 Last change: 15 May 2006 3
User Commands file(1)
EXAMPLES
Example 1 Determining if an Argument is a Binary Executable Files The following example determine if an argument is a binaryexecutable file:
file "$1" | grep -Fq executable &&
printf "%s is executable.0 "$1"
ENVIRONMENT VARIABLES See environ(5) for descriptions of the following environmentvariables 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:SunOS 5.11 Last change: 15 May 2006 4
User Commands file(1)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| CSI | Enabled ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| Standard | See standards(5). ||_____________________________|_____________________________|
SEE ALSO
crle(1), elfdump(1), ls(1), magic(4), attributes(5),environ(5), largefile(5), standards(5)
SunOS 5.11 Last change: 15 May 2006 5