Manual Page Result
0
Command: file | Section: 1 | Source: Digital UNIX | File: file.1.gz
file(1) General Commands Manual file(1)
NAME
file - Determines file type
SYNOPSIS
file [-c] [-f file_list] [-m magic_file] file...
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
file: XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
OPTIONS
[DIGITAL] Checks the magic file (/etc/magic by default) for format er-
rors. This validation is not normally done. File typing is not done
under this option. [DIGITAL] Reads file_list for a list of files to
examine. [DIGITAL] Specifies magic_file as the magic file (/etc/magic
by default).
OPERANDS
The path name of the file to be tested.
DESCRIPTION
The file command reads input files and performs a series of tests on
each one. It then attempts to classify them by type and writes the file
types to standard output.
The file command uses the /etc/magic file to identify files that have
some sort of a magic number (that is, any file containing a numeric or
string constant that indicates its type).
[DIGITAL] If a file appears to be plain text, file examines the first
512 bytes and tries to determine what kind of text it is. If the first
512 bytes only contain ASCII characters, file returns either ASCII text
or English text. If the file contains other characters (that is, Euro-
pean or Asian extended characters), file returns data.
[DIGITAL] If a file does not appear to be plain text, file attempts to
distinguish a binary data file from a text file that contains extended
characters. If the file is an a.out file and the version number is
greater than zero, file displays the version stamp.
[DIGITAL] For character special files, part of the identification is
information about the devices the system shows as active. In particu-
lar, file returns device-specific information such as controller type
and unit, device type and unit, and status (offline, write locked, den-
sity, errors). The general categories currently implemented are disk,
tape, and terminal devices. The supported terminal devices include Lo-
cal Area Terminals (LAT) but not Local Area Network (LAN) pseudo-termi-
nals.
[DIGITAL] The following example shows how the file command identifies
a device. The output is shown on two lines due to space considerations,
but appears on one line on a display.
% file /dev/rrz0c
/dev/rrz0c: character special (8/2) SCSI #0
RZ24 disk #0 (SCSI ID #0)
[DIGITAL] On DIGITAL UNIX systems, the file command recognizes OSF
core files. For example: % file core
core: core dump, generated from 'mwm'
[DIGITAL] The amount and type of information the file command returns
can depend on the permissions of the file being queried. For example,
most special device files have permissions that allow access only by
root and non-root users cannot open them. The file command has to open
the device and only root has the proper permissions. Thus, if the file
command is issued by a non-root user, it can report only information it
can determine without gaining access to the device.
[DIGITAL] The file command also uses internal tables to decode certain
types of files. The following example shows the keywords the file com-
mand uses to locate troff, C code, and assembler code.
char *troff[] = { /* new troff intermediate lang */
"x","T","res","init","font","202","V0","p1",0}; char *c[] = {
"int","char","float","double","struct","extern",0}; char *as[] =
{
"globl","byte","align","text","data","comm",0};
The file types recognized and identification displayed include those
shown in the following table:
lw(3.7i) l. _ If file is a It is identified as _ directory directory
FIFO fifo block special block special character special character
special executable binary executable empty regular file empty T{ ar
archive library (see ar) T} archive T{ extended cpio format (see pax)
T} cpio archive T{ extended tar format (see tar) T} tar archive
shell script commands text C-language source c program text FOR-
TRAN source fortran program text _
RESTRICTIONS
[DIGITAL] The file command often does a poor job of distinguishing C
programs, shell scripts, English text, and ASCII text. In addition, it
does not recognize certain programming languages, including Modula,
Pascal, and Lisp.
EXIT STATUS
The following exit values are returned: Successful completion. An er-
ror occurred.
EXAMPLES
To display the type of information a file contains, enter: file myfile
This displays the file type of myfile (directory, data, ASCII
text, C program source, archive, and so on). To display the
type of each file named in a list of file names, enter: file -f
filenames
This displays the type of each file with a name that appears in
filenames. Each file name must appear alone on a line.
To create filenames, enter: ls > filenames
Then edit filenames as desired.
FILES
File type database
SEE ALSO
Commands: r(1), cpio(1), ls(1), pax(1), tar(1)
Files: magic(4)
Standards: standards(5)
Programmer's Guide
file(1)