|
|
1.1 root 1: .na
2: .bl 15
3: .tr |
4: .in 0
5: .ce
6: UNIX PROGRAMMER'S MANUAL
7:
8: .ce
9: Third Edition
10:
11:
12:
13: .ce 3
14: K. Thompson
15:
16: D. M. Ritchie
17:
18:
19:
20:
21: .ce
22: February, 1973
23: .sp 15
24: .ce 7
25: Copyright 8c9 1972
26: Bell Telephone Laboratories, Inc.
27:
28: No part of this document may be reproduced,
29: or distributed outside the Laboratories, without
30: the written permission of Bell Telephone Laboratories.
31: .bp
32: .fo ''- % -''
33: .ro
34: .bl 2
35: .ce 2
36: PREFACE
37: to the Third Edition
38:
39:
40: In the months since the last appearance of this manual,
41: many changes have occurred
42: both in the system itself and in the way it is
43: used.
44:
45: Perhaps most obviously,
46: there have been additions, deletions, and modifications
47: to the system and its software.
48: It is these changes, of course, that
49: caused the appearance of this revised manual.
50:
51: Second, the number of people spending
52: an appreciable amount
53: of time writing UNIX software has increased.
54: Credit is due
55: to L.|L.|Cherry, M.|D.|McIlroy, L.|E.|McMahon, R.|Morris,
56: J.|F.|Ossanna,
57: and E.|N.|Pinson
58: for their contributions.
59:
60: Finally, the number of UNIX installations
61: has grown to 16, with more expected.
62: None of these has exactly the same complement
63: of hardware or software.
64: Therefore, at any particular installation,
65: it is quite possible that this manual will
66: give inappropriate information.
67: .a
68:
69: In particular,
70: .ul 3
71: any system which uses a PDP-11/20
72: processor will not include all the software described
73: herein, nor will the software behave the same way.
74: The second, or even the first, edition
75: of this manual is likely to be more
76: appropriate.
77:
78: Besides additions, deletions, and
79: modifications to the writeups in each section,
80: this manual differs from its predecessors
81: in two ways:
82: all the commands used for system maintenance
83: and not intended for normal users have been moved
84: to a new section VIII;
85: and there is a new "How to Get Started"
86: chapter that gives some elementary facts
87: and many pointers to other sections.
88: .bp
89: .bl 2
90: .ce
91: INTRODUCTION TO THIS MANUAL
92:
93:
94: This manual gives descriptions of the publicly available
95: features of UNIX.
96: It provides neither a general
97: overview (see "The UNIX Time-sharing System" for that)
98: nor details of the implementation of the system (which
99: remain to be disclosed).
100:
101: Within the area it surveys, this manual attempts
102: to be as complete and timely as possible.
103: A conscious
104: decision was made to describe each program
105: in exactly the state it was in at the time
106: its manual section
107: was prepared.
108: In particular, the
109: desire to describe something as it should be, not as it is,
110: was resisted.
111: Inevitably, this means that
112: many sections will soon be out of date.
113: (The rate of
114: change of the system is so great that a dismayingly
115: large number of early sections
116: had to be modified while the rest were being written.
117: The unbounded effort required to stay up-to-date
118: is best indicated by the fact that several of the programs
119: described were written specifically to aid in preparation
120: of this manual!)
121:
122: This manual is divided into
123: eight sections:
124:
125: I. Commands
126: II. System calls
127: III. Subroutines
128: IV. Special files
129: V. File formats
130: VI. User-maintained programs
131: VII. Miscellaneous
132: VIII. Maintenance
133:
134: Commands are programs intended to be invoked directly by
135: the user, in contradistinction to subroutines, which are
136: intended to be called by the user's programs.
137: Commands generally reside in directory /bin____ (for
138: bin___ary programs). This directory is searched automatically
139: by the command line interpreter. Some programs
140: classified as commands are located elsewhere; this
141: fact is indicated in the appropriate sections.
142:
143: System calls are entries into the UNIX supervisor.
144: In assembly language, they are coded with the use
145: of the opcode "sys", a synonym for the
146: trap____ instruction.
147:
148: A small assortment
149: of subroutines is available;
150: they are described in section III.
151: The binary form of most of them is kept in
152: the system library /usr/lib/liba.a.
153:
154: The special files section IV discusses the characteristics of
155: each system "file" which actually refers to an I/O device.
156: Unlike previous editions, the names in this
157: section refer to the DEC device names for the
158: hardware,
159: instead of the neames of
160: the special files themselves.
161:
162: The file formats section V documents the structure of particular
163: kinds of files; for example, the form of the output of the loader and
164: assembler is given. Excluded are files used by only one command,
165: for example the assembler's intermediate files.
166:
167: User-maintained programs (section VI) are not considered part
168: of the UNIX system, and the principal reason for
169: listing them is to indicate their existence without
170: necessarily giving a complete description.
171: The author should be consulted for information.
172:
173: The miscellaneous section (VII) gathers odds and ends.
174:
175: Section VIII discusses commands which are not intended
176: for use by the ordinary user,
177: in some cases because they disclose information
178: in which he is presumably not interested,
179: and in others because they perform
180: privileged functions.
181:
182:
183: Each section consists of a number of independent
184: entries of a page or so each.
185: The name of the entry is in the upper corners of its pages,
186: its preparation date in the upper middle.
187: Entries within each section are
188: alphabetized.
189: The page numbers of each entry start at 1.
190: (The earlier hope for frequent, partial
191: updates of the manual is clearly in vain, but
192: in any event it is not feasible to
193: maintain consecutive page numbering in a document
194: like this.)
195:
196: All entries have a common format.
197: .sp
198: .in 5
199: The name____ section repeats the entry name and gives
200: a very short description of its purpose.
201:
202: The synopsis________ summarizes the use of the
203: program being described.
204: A few conventions are used, particularly in the
205: Commands section:
206:
207: .in 8
208: Underlined words are considered literals, and
209: are typed just as they appear.
210:
211: Square brackets ([]) around an argument
212: indicate that the argument is optional.
213: When an argument is given as "name", it always
214: refers to a file name.
215:
216: Ellipses "..." are used to show that the previous argument-prototype
217: may be repeated.
218:
219: A final convention is used by the commands themselves.
220: An argument beginning with a minus sign "-"
221: is often taken to mean some sort of flag argument
222: even if it appears in a position where a file name
223: could appear. Therefore, it is unwise to have files
224: whose names begin with "-".
225:
226: .in 5
227: The description___________ section discusses in detail the subject at hand.
228:
229: The files_____ section gives the names of files which are
230: built into the program.
231:
232: A see___ also____ section gives pointers to related information.
233:
234: A diagnostics___________
235: section discusses
236: the diagnostics that may be produced.
237: This section tends to be as terse
238: as the diagnostics themselves.
239:
240: The bugs____ section gives
241: known bugs and sometimes deficiencies.
242: Occasionally also the suggested fix is
243: described.
244:
245: .in 0
246: Previous edition of this manual had
247: an owner_____ section, which has been dropped from this
248: edition because the "owners" of many routines became
249: fairly hard to pin down.
250: The major contributors to UNIX,
251: (cast in order of appearance)
252: together with their login names and most notable contributions,
253: are
254:
255: ken K. Thompson (UNIX, many commands)
256: dmr D. M. Ritchie (many commands, as, ld, C)
257: jfo J. F. Ossanna (roff, nroff)
258: doug M. D. McIlroy (tmg, m6)
259: rhm R. Morris (dc, much of library)
260: lem L. E. McMahon (cref)
261: llc L. L. Cherry (form, fed, salloc)
262: csr C. S. Roberts (tss)
263: enp E. N. Pinson (proof)
264:
265: At the beginning of this document is a table of contents,
266: organized by section and alphabetically within each section.
267: There is also a permuted index derived from the table of contents.
268: Within each index entry, the title
269: of the writeup to which
270: it refers is followed by the appropriate section number in parentheses.
271: This fact is important because there is considerable
272: name duplication among the sections,
273: arising principally from commands which
274: exist only to exercise a particular system call.
275:
276:
277: This manual was prepared using the UNIX text
278: editor ed__ and the formatting program roff____.
279:
280: The assistance of R. Morris is gratefully acknowledged.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.