FILE(1)

NAME
file - determine the type of a file by examining its contents

SYNOPSIS
file [ -f ffile ] [ -cL ] [ -m mfile ] filename...

DESCRIPTION
file performs a series of tests on each filename in an attempt to determine what it contains. If the contents of a file appear to be ASCII text, file examines the first 512 bytes and tries to guess its language.

file uses the file /etc/magic to identify files that have some sort of magic number, that is, any file containing a numeric or string constant that indicates its type.

OPTIONS

-c  Check for format errors in the magic number file. For reasons of efficiency, this validation is not normally carried out. No file type-checking is done under -c.

-f ffile
    Get a list of filenames to identify from ffile.

-L  If a file is a symbolic link, test the file the link references rather than the link itself.

-m mfile
    Use mfile as the name of an alternate magic number file.

EXAMPLE

This example illustrates the use of file on all the files in a specific user's directory:

    example% pwd
    /usr/blort/misc
    example% file  *

    code:
        mc68020 demand paged executable

    code.c:
        c program text

    counts:
        ascii text

    doc:
        roff, nroff , or eqn input text

    empty.file:
        empty

    libz:
        archive random library

    memos:
        directory

    project:
        symbolic link to /usr/project

    script:
        executable shell script

    titles:
        ascii text

    s5.stuff:
        cpio archive

    example%

ENVIRONMENT

The environment variables LC_CTYPE, LANG, and LC_default control the character classification throughout file. On entry to file, these environment variables are checked in the following order: LC_CTYPE, LANG, and LC_default. When a valid value is found, remaining environment variables for character classification are ignored. For example, a new setting for LANG does not override the current valid character classification rules of LC_CTYPE. When none of the values is valid, the shell character classification defaults to the POSIX.1 “C” locale.

FILES
/etc/magic

SEE ALSO
locale(5), magic(5)

BUGS

file often makes mistakes. In particular, it often suggests that command files are C programs.

Does not recognize Pascal or LISP.