|
|
1.1 root 1: .lg
2: .lt 6i
3: .ll 6i
4: .lt 6i
5: .ps 10
6: .vs 12p
7: .de he
8: .tl '-'''
9: 'sp .5i
10: 'ft R
11: .CH
12: 'ft
13: 'ps
14: 'sp .5i
15: ..
16: .de fo
17: 'ft R
18: 'ps 10
19: 'sp .5i
20: .CF
21: 'ft
22: 'ps
23: 'bp
24: ..
25: .wh 0 he
26: .wh -1i fo
27: .de pg
28: .sp .5
29: ..
30: .tr |
31: .sp 3i
32: .ps 18
33: .ft B
34: .ce
35: UNIX PROGRAMMER'S MANUAL
36: .ps 12
37: .vs 14p
38: .sp 2
39: .ft I
40: .ce
41: Fourth Edition
42: .sp 3
43: .ce 3
44: K. Thompson
45: .sp .5
46: D. M. Ritchie
47: .sp 2
48: .ce
49: November, 1973
50: .sp 2.5i
51: .ps 10
52: .vs 12p
53: .ft R
54: .ce 2
55: Copyright \(co 1972, 1973
56: Bell Telephone Laboratories, Inc.
57: .sp
58: .ce 3
59: No part of this document may be reproduced,
60: or distributed outside the Laboratories, without
61: the written permission of Bell Telephone Laboratories.
62: .bp
63: .sp 3i
64: .ce2
65: Copyright \(co 1972, 1973
66: Bell Telephone Laboratories, Incorporated
67: .sp 3i
68: .ll 4.5i
69: .in 1.5i
70: .ft R
71: This manual was set
72: by a Graphic Systems phototypesetter driven
73: by the \fItroff\fR formatting program operating
74: under the \s8UNIX\s10 system.
75: The text of the manual was
76: prepared using the \fIed\fR text editor.
77: .br
78: .ft R
79: .ll 6i
80: .in 0
81: .bp 1
82: .sp 3
83: .ce 2
84: PREFACE
85: to the Fourth Edition
86: .sp
87: .de CF
88: .ro
89: .tl ''%''
90: .ar
91: ..
92: In the months since the last appearance of this manual,
93: many changes have occurred
94: both in the system itself and in the way it is
95: used.
96: The most important changes result from a complete
97: rewrite of the \s8UNIX\s10 system in the C language.
98: There have also been substantial changes in much of the
99: system software.
100: It is these changes, of course,
101: which mandated the new edition of this manual.
102: .pg
103: The number of \s8UNIX\s10 installations
104: is now above 20, and many more are expected.
105: None of these has exactly the same complement
106: of hardware or software.
107: Therefore, at any particular installation,
108: it is quite possible that this manual will
109: give inappropriate information.
110: In particular,
111: .ft I
112: the information in this manual applies
113: only to \s8UNIX\s10 systems which operate
114: under the C language versions of the system.
115: .ft R
116: Installations which use older versions of \s8UNIX\s10
117: will find earlier editions of this manual
118: more appropriate to their situation.
119: .pg
120: Even in installations which have the latest versions of the
121: operating system,
122: not all the software and other
123: facilities mentioned herein
124: will be available.
125: For example,
126: the typesetter, voice response unit, and voice synthesizer
127: are hardly universally available devices;
128: also, some of the \s8UNIX\s10 software has not been
129: released for use outside the
130: Bell System.
131: .sp 2
132: The authors are grateful
133: to L. L. Cherry,
134: M. E. Lesk,
135: E. N. Pinson,
136: and C. S. Roberts for their
137: contributions
138: to the system software,
139: and to L. E. McMahon for software and for
140: his contributions to this manual.
141: We are particularly appreciative of the
142: invaluable technical, editorial, and administrative
143: efforts of
144: J. F. Ossanna, M. D. McIlroy, and R. Morris.
145: They all contributed greatly to the stock of
146: \s8UNIX\s10 software and to this manual.
147: Their inventiveness,
148: thoughtful criticism,
149: and ungrudging support
150: increased immeasurably
151: not only whatever success the \s8UNIX\s10 system enjoys,
152: but also our own enjoyment in its creation.
153: .bp
154: .sp 2
155: .ce
156: INTRODUCTION TO THIS MANUAL
157: .pg
158: .pg
159: This manual gives descriptions of the publicly available
160: features of \s8UNIX\s10.
161: It provides neither a general
162: overview (see ``The \s8UNIX\s10 Time-sharing System'' for that)
163: nor details of the implementation of the system (which
164: remain to be disclosed).
165: .pg
166: Within the area it surveys, this manual attempts
167: to be as complete and timely as possible.
168: A conscious
169: decision was made to describe each program
170: in exactly the state it was in at the time
171: its manual section
172: was prepared.
173: In particular, the
174: desire to describe something as it should be, not as it is,
175: was resisted.
176: Inevitably, this means that
177: many sections will soon be out of date.
178: .pg
179: This manual is divided into
180: eight sections:
181: .pg
182: .nf
183: I. Commands
184: II. System calls
185: III. Subroutines
186: IV. Special files
187: V. File formats
188: VI. User-maintained programs
189: VII. Miscellaneous
190: VIII. Maintenance
191: .pg
192: .fi
193: Commands are programs intended to be invoked directly by
194: the user, in contradistinction to subroutines, which are
195: intended to be called by the user's programs.
196: Commands generally reside in directory
197: .ft I
198: /bin
199: .ft R
200: (for \fIbin\fR\|ary programs).
201: This directory is searched automatically
202: by the command line interpreter.
203: Some programs also reside in
204: .ft I
205: /\|usr/\|bin,
206: .ft R
207: to save space in
208: \fI/bin.\fR
209: Some programs
210: classified as commands are located elsewhere; this
211: fact is indicated in the appropriate sections.
212: .pg
213: System calls are entries into the \s8UNIX\s10 supervisor.
214: In assembly language, they are coded with the use
215: of the opcode \fIsys\fR, a synonym for the
216: \fItrap\fR instruction.
217: In this edition,
218: the C language interface routines to the system
219: calls have been incorporated in section II.
220: .pg
221: A small assortment
222: of subroutines is available;
223: they are described in section III.
224: The binary form of most of them is kept in
225: the system library
226: \fI/\|lib/\|liba.a.\fR
227: The subroutines available from C and from Fortran are also included;
228: they reside in
229: \fI/\|lib/\|libc.a\fR
230: and
231: \fI/\|lib/\|libf.a\fR
232: respectively.
233: .pg
234: The special files section IV discusses the characteristics of
235: each system ``file'' which actually refers to an I/O device.
236: The names in this
237: section refer to the DEC device names for the
238: hardware,
239: instead of the names of
240: the special files themselves.
241: .pg
242: The file formats section V documents the structure of particular
243: kinds of files; for example, the form of the output of the loader and
244: assembler is given. Excluded are files used by only one command,
245: for example the assembler's intermediate files.
246: .pg
247: User-maintained programs (section VI) are not considered part
248: of the \s8UNIX\s10 system, and the principal reason for
249: listing them is to indicate their existence without
250: necessarily giving a complete description.
251: The author should be consulted for information.
252: .pg
253: The miscellaneous section (VII) gathers odds and ends.
254: .pg
255: Section VIII discusses commands which are not intended
256: for use by the ordinary user,
257: in some cases because they disclose information
258: in which he is presumably not interested,
259: and in others because they perform
260: privileged functions.
261: .pg
262: .pg
263: Each section consists of a number of independent
264: entries of a page or so each.
265: The name of the entry is in the upper corners of its pages,
266: its preparation date in the upper middle.
267: Entries within each section are
268: alphabetized.
269: The page numbers of each entry start at 1.
270: (The earlier hope for frequent, partial
271: updates of the manual is clearly in vain, but
272: in any event it is not feasible to
273: maintain consecutive page numbering in a document
274: like this.)
275: .pg
276: All entries are based on a common format,
277: not all of whose subsections will always appear.
278: .pg
279: .in .5i
280: The \fIname\fR section repeats the entry name and gives
281: a very short description of its purpose.
282: .pg
283: The \fIsynopsis\fR summarizes the use of the
284: program being described.
285: A few conventions are used, particularly in the
286: Commands section:
287: .pg
288: .in 1i
289: \fBBoldface\fR words are considered literals, and
290: are typed just as they appear.
291: .pg
292: Square brackets ( [ ] ) around an argument
293: indicate that the argument is optional.
294: When an argument is given as ``name'', it always
295: refers to a file name.
296: .pg
297: Ellipses ``.\|.\|.'' are used to show that the previous argument-prototype
298: may be repeated.
299: .pg
300: A final convention is used by the commands themselves.
301: An argument beginning with a minus sign ``_''
302: is often taken to mean some sort of flag argument
303: even if it appears in a position where a file name
304: could appear. Therefore, it is unwise to have files
305: whose names begin with ``_''.
306: .pg
307: .in .5i
308: The \fIdescription\fR section discusses in detail the subject at hand.
309: .pg
310: The \fIfiles\fR section gives the names of files which are
311: built into the program.
312: .pg
313: A
314: .ft I
315: see also
316: .ft R
317: section gives pointers to related information.
318: .pg
319: A \fIdiagnostics\fR
320: section discusses
321: the diagnostic indications which may be produced.
322: Messages which are intended to be self-explanatory
323: are not listed.
324: .pg
325: The \fIbugs\fR section gives
326: known bugs and sometimes deficiencies.
327: Occasionally also the suggested fix is
328: described.
329: .pg
330: .in 0
331: At the beginning of this document is a table of contents,
332: organized by section and alphabetically within each section.
333: There is also a permuted index derived from the table of contents.
334: Within each index entry, the title
335: of the writeup to which
336: it refers is followed by the appropriate section number in parentheses.
337: This fact is important because there is considerable
338: name duplication among the sections,
339: arising principally from commands which
340: exist only to exercise a particular system call.
341: .pg
342: .pg
343: This manual was prepared using the \s8UNIX\s10 text
344: editor \fIed\fR and the formatting program \fItroff\fR.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.