Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017
 
 

file(1B)

Name

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

Synopsis

/usr/ucb/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.

Examples

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:        symboliclink to /usr/project
script:         executable shell script
titles:         ascii text
s5.stuff:       cpio archive


example%

Environment Variables

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

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
compatibility/ucb

See Also

magic(4), attributes(5)

Bugs

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

file does not recognize Pascal or LISP.

Notes

This command is obsolete and will be removed in a future release of Oracle Solaris. See file(1) for an alternate implementation of this command.