FILE(1B) BSD Compatibility Package Commands FILE(1B)

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

/usr/ucb/file [-f ffile] [-cL] [-m mfile] filename...

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.

-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 1 Using file on all the files in a specific user's directory.

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


example% pwd
/usr/blort/misc


example% /usr/ucb/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%

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.

/etc/magic

magic(5), attributes(7)

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

file does not recognize Pascal or LISP.

September 14, 1992 OmniOS