Unix |
Unix v6 |
|
![]() |
intro(intro) |
![]() |
UNIX PROGRAMMER’S MANUAL
Sixth Edition
K.
Thompson
D. M. Ritchie
May, 1975
-
This manual was set by a Graphic Systems phototypesetter driven by the troff formatting program operating under the UNIX system. The text of the manual was prepared using the ed text editor.
-
PREFACE to the Sixth Edition
We are grateful to L. L. Cherry, R. C. Haight, S. C. Johnson, B. W. Kernighan, M. E. Lesk, and E. N. Pinson for their contributions to the system software, and to L. E. McMahon for software and for his contributions to this manual. We are particularly appreciative of the invaluable technical, editorial, and administrative efforts of J. F. Ossanna, M. D. McIlroy, and R. Morris. They all contributed greatly to the stock of UNIX software and to this manual. Their inventiveness, thoughtful criticism, and ungrudging support increased immeasurably not only whatever success the UNIX system enjoys, but also our own enjoyment in its creation.
1
-
INTRODUCTION TO THIS MANUAL
This manual gives descriptions of the publicly available
features of UNIX . It provides neither a
general overview − see ‘‘The
UNIX Time-sharing System’’ (Comm.
ACM 17 7, July 1974, pp. 365-375) for that −
nor details of the implementation of the system, which
remain to be disclosed.
Within the area it surveys, this manual attempts to be as
complete and timely as possible. A conscious decision was
made to describe each program in exactly the state it was in
at the time its manual section was prepared. In particular,
the desire to describe something as it should be, not as it
is, was resisted. Inevitably, this means that many sections
will soon be out of date.
This manual is divided into eight sections:
I. | |
Commands | |
II. | |
System calls | |
III. | |
Subroutines | |
IV. | |
Special files | |
V. | |
File formats and conventions | |
VI. | |
User-maintained programs | |
VII. | |
User-maintained subroutines | |
VIII. | |
Maintenance |
Commands are programs intended to be invoked directly by
the user, in contradistinction to subroutines, which are
intended to be called by the user’s programs. Commands
generally reside in directory /bin (for binary
programs). Some programs also reside in /usr/bin, to
save space in /bin. These directories are searched
automatically by the command interpreter.
System calls are entries into the UNIX
supervisor. In assembly language, they are coded with the
use of the opcode sys, a synonym for the trap
instruction. In this edition, the C language interface
routines to the system calls have been incorporated in
section II.
A small assortment of subroutines is available; they are
described in section III. The binary form of most of them is
kept in the system library /lib/liba.a. The
subroutines available from C and from Fortran are also
included; they reside in /lib/libc.a and
/lib/libf.a respectively.
The special files section IV discusses the characteristics
of each system ‘‘file’’ which
actually refers to an I/O device. The names in this section
refer to the DEC device names for the hardware, instead of
the names of the special files themselves.
The file formats and conventions section V documents the
structure of particular kinds of files; for example, the
form of the output of the loader and assembler is given.
Excluded are files used by only one command, for example the
assembler’s intermediate files.
User-maintained programs and subroutines (sections VI and
VII) are not considered part of the UNIX
system, and the principal reason for listing them is to
indicate their existence without necessarily giving a
complete description. The authors of the individual programs
should be consulted for more information.
Section VIII discusses commands which are not intended for
use by the ordinary user, in some cases because they
disclose information in which he is presumably not
interested, and in others because they perform privileged
functions.
Each section consists of a number of independent entries of
a page or so each. The name of the entry is in the upper
corners of its pages, its preparation date in the upper
middle. Entries within each section are alphabetized. The
page numbers of each entry start at 1. (The earlier hope for
frequent, partial updates of the manual is clearly in vain,
but in any event it is not feasible to maintain consecutive
page numbering in a document like this.)
All entries are based on a common format, not all of whose
subsections will always appear.
The name section repeats
the entry name and gives a very short description of its
purpose.
The synopsis summarizes the use of the program being
described. A few conventions are used, particularly in the
Commands section:
Boldface words are
considered literals, and are typed just as they appear.
Square brackets ( [ ] ) around an argument indicate that the
argument is optional. When an argument is given as
‘‘name’’, it always refers to a file
name.
Ellipses ‘‘...’’ are used to show
that the previous argument-prototype may be repeated.
A final convention is used by the commands themselves. An
argument beginning with a minus sign
‘‘_’’ is often taken to mean some
sort of flag argument even if it appears in a position where
a file name could appear. Therefore, it is unwise to have
files whose names begin with
‘‘_’’.
The description section
discusses in detail the subject at hand.
The files section gives the names of files which are
built into the program.
A see also section gives pointers to related
information.
A diagnostics section discusses the diagnostic
indications which may be produced. Messages which are
intended to be self-explanatory are not listed.
The bugs section gives known bugs and sometimes
deficiencies. Occasionally also the suggested fix is
described.
At the beginning of this document is a table of
contents, organized by section and alphabetically within
each section. There is also a permuted index derived from
the table of contents. Within each index entry, the title of
the writeup to which it refers is followed by the
appropriate section number in parentheses. This fact is
important because there is considerable name duplication
among the sections, arising principally from commands which
exist only to exercise a particular system call.
This manual was prepared using the UNIX text
editor ed and the formatting program
troff.
2
![]() |
intro(intro) | ![]() |