Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ld(1)

notmagic(3c)

a.out(5)

ar(5)

cpio(5)

magic(5)

rcsfile(5rcs)



FILE(1)                 COMMAND REFERENCE                 FILE(1)



NAME
     file - determine file type

SYNOPSIS
     file [ -c ] [ -f ffile ] [ -m mfile ] arg ...

DESCRIPTION
     File performs a series of tests on each argument in an
     attempt to classify it.  If an argument appears to be ASCII,
     file examines the first 512 bytes and tries to guess its
     language.

     Each file is printed in the format:

          name:  file type

     Symbolic links are printed in the format:

          name:  Symbolic link. File pointed to is <file type>

     File uses the file /usr/lib/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.  The
     file format is described in the manual page magic(5).

     File recognizes the following file types:

          ASCII archive (long format)
          ASCII archive (normal format)
          ASCII cpio archive
          ASCII text
          Assembler program text
          BASIC keyed internal file
          BASIC program text
          BASIC relative internal file
          BASIC sequential internal file
          BASIC stream internal file
          Block special
          C program text
          Character special
          Commands text
          Compacted text
          Cpio archives
          Data
          Demand paged executable
          Directories
          English text
          FORTRAN program text
          MH message
          Nroff, troff, tbl, or eqn input
          Old archive
          Old executable



Printed 4/6/89                                                  1





FILE(1)                 COMMAND REFERENCE                 FILE(1)



          Packed text
          Program scripts
          pxl file
          RCS file
          Read only pure executable
          Symbol table information
          System V terminal capability file
          TeX font metric (tfm) file
          TeX output (dvi)
          Troff output

     If the file is executable and not stripped, that fact is
     noted.

     There are two ASCII archive formats: normal and long. In
     each case, if the archive contains a symbol definition table
     (see ar(1) and ranlib(1)), that fact is noted.

     A program script file is a file whose first line is an
     interpreter line (see execve(2)). The name of the program to
     be executed is printed.

     If an ASCII file contains characters with the eighth bit
     set, the file type is followed by the words ``with
     garbage''.

OPTIONS
     -c Causes file to check the magic file (/usr/lib/magic) for
        format errors.  This validation is not normally carried
        out for reasons of efficiency.  No file typing is done
        under -c.

     -f ffile
        The next argument is taken to be a file containing the
        names of the files to be examined.

     -m mfile
        Instructs file to use an alternate magic file.

EXAMPLES
     The following example will print the name of each file in
     /da/tmp followed by its classification.

          file /da/tmp/*


RETURN VALUE
     [P_ERR]        A system error occurred. Execution
                    terminated.  See intro(2) for more
                    information on system errors.

     [NP_ERR]       An error occurred that was not a system



Printed 4/6/89                                                  2





FILE(1)                 COMMAND REFERENCE                 FILE(1)



                    error.  Execution terminated.

     [NP_WARN]      An error warranting a warning message
                    occurred. Execution continues.

     [USAGE]        Incorrect command line syntax. Execution
                    terminated.

     [NO_ERRS]      Command completed without error.

CAVEATS
     It often makes mistakes.  In particular it often suggests
     that command files are C programs.

     Does not recognize Pascal or LISP.

     Interpreter lines ('#!  pathname') are not checked for
     validity. A line like '#!  /foo' will cause the file to be
     identified as script commands for /foo, even though the file
     will not be executed. Execute permission is not checked.

SEE ALSO
     ld(1), notmagic(3c), a.out(5), ar(5), cpio(5), magic(5), and
     rcsfile(5rcs).































Printed 4/6/89                                                  3



%%index%%
na:240,78;
sy:318,267;
de:585,1784;2681,870;
op:3551,682;
ex:4233,235;
rv:4468,356;5136,309;
ca:5445,494;
se:5939,279;
%%index%%000000000152

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026