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