1 .\" $NetBSD: Title,v 1.2 1998/01/09 06:54:38 perry Exp $
3 .\" Copyright (c) 1986, 1993, 1994 The Regents of the University of California.
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)Title 8.4 (Berkeley) 8/8/94
47 Supplementary Documents
60 Now in its twentieth year, the USENIX Association,
61 the UNIX and Advanced Computing Systems professional and technical organization,
62 is a not-for-profit membership association of individuals and
63 institutions with an interest in UNIX and UNIX-like systems,
64 and, by extension, C++, X windows, and other advanced tools and technologies.
66 USENIX and its members are dedicated to:
68 fostering innovation and communicating research and technological developments,
70 sharing ideas and experience relevant to UNIX,
71 UNIX-related, and advanced computing systems, and
73 providing a neutral forum for the exercise of critical
74 thought and airing of technical issues.
76 USENIX publishes a journal (\fBComputing Systems\fP),
77 a newsletter (\fI;login:\fP),
78 Proceedings from its frequent Conferences and Symposia,
81 SAGE, The Systems Administrators Guild, a Special Technical Group with
82 the USENIX Association, is dedicated to the advancement of system
83 administration as a profession.
85 SAGE brings together systems managers and administrators to:
87 propagate knowledge of good professional practice,
89 recruit talented individuals to the profession,
91 recognize individuals who attain professional excellence,
93 foster technical development and share solutions to technical
96 communicate in an organized voice with users, management, and vendors
97 on system administration topics.
108 Supplementary Documents
121 Berkeley Software Distribution
134 Computer Systems Research Group
135 University of California at Berkeley
142 A USENIX Association Book
143 O'Reilly & Associates, Inc.
144 103 Morris Street, Suite A
153 Second Printing, 1995
156 Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
157 The Regents of the University of California. All rights reserved.
160 Other than the specific manual pages and documents listed below
161 as copyrighted by AT&T,
162 redistribution and use of this manual in source and binary forms,
163 with or without modification, are permitted provided that the
164 following conditions are met:
166 Redistributions of this manual must retain the copyright
167 notices on this page, this list of conditions and the following disclaimer.
169 Software or documentation that incorporates part of this manual must
170 reproduce the copyright notices on this page, this list of conditions and
171 the following disclaimer in the documentation and/or other materials
172 provided with the distribution.
174 All advertising materials mentioning features or use of this software
175 must display the following acknowledgement:
176 ``This product includes software developed by the University of
177 California, Berkeley and its contributors.''
179 Neither the name of the University nor the names of its contributors
180 may be used to endorse or promote products derived from this software
181 without specific prior written permission.
183 \fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
184 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
185 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
186 ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
187 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
188 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
189 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
190 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
191 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
192 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
196 Documents PSD:1, 2, 3, 4, 6, 11, 15, 16, and 17
197 are copyright 1979, AT&T Bell Laboratories, Incorporated.
198 Document PSD:8 is a modification of an earlier document that
199 is copyrighted 1979 by AT&T Bell Laboratories, Incorporated.
200 Holders of \x'-1p'UNIX\v'-4p'\s-3TM\s0\v'4p'/32V,
201 System III, or System V software licenses are
202 permitted to copy these documents, or any portion of them,
203 as necessary for licensed use of the software,
204 provided this copyright notice and statement of permission
207 Document PSD:10 is part of the user contributed software and is
208 copyright 1992 by the Free Software Foundation, Inc.
209 Permission is granted to make and distribute verbatim copies of
210 this document provided the copyright notice and this permission notice
211 are preserved on all copies.
213 Document PSD:13 is part of the user contributed software and is
214 copyright 1983 by Walter F. Tichy.
215 Permission to copy the RCS documentation or any portion thereof as
216 necessary for licensed use of the software is granted to licensees
217 of this software, provided this copyright notice is included.
220 The views and conclusions contained in this manual are those of the
221 authors and should not be interpreted as representing official policies,
222 either expressed or implied, of the Regents of the University of California.
225 The 4.4BSD Daemon used on the cover is
226 copyright 1994 by Marshall Kirk McKusick
227 and is reproduced with permission.
229 This book was printed and bound in the United States of America.
231 Distributed by O'Reilly & Associates, Inc.
233 .IP "[recycle logo]" 16
234 This book is printed on acid-free paper with 50% recycled content,
235 10-13% post-consumer waste. O'Reilly & Associates is committed to
236 using paper with the highest recycled content available consistent
242 .OH '\s10Contents''- % -\s0'
243 .EH '\s10- % -''Contents\s0'
255 .tl 'Introduction''ix'
258 Documents of Historical Interest
261 .tl 'The Unix Time\-Sharing System''tabbed 1'
263 Dennis Ritchie and Ken Thompson's original paper about UNIX, reprinted
264 from Communications of the ACM.
267 .tl 'Unix Implementation''tabbed 2'
269 Ken Thompson's description of the implementation of the Version 7
270 kernel and file system.
273 .tl 'The Unix I/O System''tabbed 3'
275 Dennis Ritchie's overview of the I/O System of Version 7; still helpful for
276 those writing device drivers.
279 .tl 'Unix Programming \- Second Edition ''tabbed 4'
281 Describes the programming interface to the UNIX version 7 operating
282 system and the standard I/O library. Should be supplemented by
283 Kernighan and Pike, ``The UNIX Programming Environment'',
284 Prentice-Hall, 1984 and especially by the Programmer Reference Manual
285 section 2 (system calls) and 3 (library routines).
288 .tl 'Berkeley Software Architecture Manual (4.4 Edition)''tabbed 5'
290 A concise and terse description of the system call interface
291 provided in Berkeley Unix, as revised for 4.4BSD.
292 This will never be a best seller.
295 Languages in common use
298 .tl 'The C Programming Language \- Reference Manual''tabbed 6'
300 Official statement of the syntax of C.
301 Should be supplemented by ``The C Programming Language,''
302 B.W. Kernighan and D.M. Ritchie, Prentice-Hall, 1978, that
303 contains a tutorial introduction and many examples.
307 .tl 'Berkeley Pascal User\'s Manual''tabbed 7'
309 An implementation of this language popular for learning to program.
312 .tl 'A Portable Fortran 77 Compiler''tabbed 8'
314 A revised version of the document which originally appeared in
315 Volume 2b of the Bell Labs documentation;
316 this version reflects the work done at Berkeley.
319 .tl 'Introduction to the f77 I/O Library''tabbed 9'
321 A description of the revised input/output library for Fortran 77,
322 reflecting work carried out at Berkeley.
328 .tl 'Debugging with GDB: The GNU Source-Level Debugger''tabbed 10'
330 How to debug programs using the source level \fIgdb\fP debugger
331 (or how to debug programs without having to know much about machine language).
334 .tl 'A Tutorial Introduction to ADB''tabbed 11'
336 How to debug programs using the assembly-language level \fIadb\fP debugger.
339 .tl 'Make \- A Program for Maintaining Computer Programs''tabbed 12'
341 Indispensable tool for making sure large programs are properly
342 compiled with minimal effort.
345 .tl 'An Introduction to the Revision Control System''tabbed 13'
347 RCS is a user-contributed tool for working together with other people
348 without stepping on each other's toes.
349 An alternative to \fIsccs\fR for controlling software changes.
352 .tl 'An Introduction to the Source Code Control System''tabbed 14'
354 A useful introductory article for those users with
355 installations licensed for SCCS.
358 .tl 'YACC: Yet Another Compiler-Compiler''tabbed 15'
360 Converts a BNF specification of a language and semantic actions
361 written in C into a compiler for that language.
364 .tl 'LEX \- A Lexical Analyzer Generator''tabbed 16'
366 Creates a recognizer for a set of regular expressions:
367 each regular expression can be followed by arbitrary C code
368 to be executed upon finding the regular expression.
372 .tl 'The M4 Macro Processor''tabbed 17'
374 M4 is a macro processor useful in its own right and as a
375 front-end for C, Ratfor, and Cobol.
378 .tl 'gprof: a Call Graph Execution Profiler''tabbed 18'
380 A program to show the call graph and execution time of a program.
381 Indispensable aid for improving the running time of almost everything.
384 Programming Libraries
387 .tl 'Screen Updating and Cursor Movement Optimization''tabbed 19'
389 Describes the \fIcurses\fP package, an aid for writing screen-oriented,
390 terminal-independent programs.
396 .tl 'An Introductory 4.4BSD Interprocess Communication Tutorial''tabbed 20'
398 How to write programs that use the Interprocess Communication Facilities
402 .tl 'An Advanced 4.4BSD Interprocess Communication Tutorial''tabbed 21'
404 The reference document (with some examples) for the Interprocess Communication
405 Facilities of 4.4BSD.
408 .tl 'List of Documents''inside back cover'
414 .OH '\s10Introduction''- % -\s0'
415 .EH '\s10- % -''Introduction\s0'
420 \fR\\$1\fI\\$2\^\fR\\$3
423 \fB\s24Introduction\s0\fP
428 The documentation for 4.4BSD is in a format similar
429 to the one used for the 4.2BSD and 4.3BSD manuals.
430 It is divided into three sets; each set consists of one or more volumes.
431 The abbreviations for the volume names are listed in square brackets;
432 the abbreviations for the manual sections are listed in parenthesis.
435 User's Reference Manual [URM]
438 Macro packages and language conventions (7)
439 User's Supplementary Documents [USD]
442 Communicating with the World
447 II. Programmer's Documents
448 Programmer's Reference Manual [PRM]
452 File formats and conventions (5)
453 Programmer's Supplementary Documents [PSD]
454 Documents of Historic Interest
455 Languages in common use
457 Programming Libraries
460 III. System Manager's Manual [SMM]
461 Maintenance commands (8)
462 System Installation and Administration
465 References to individual documents are given as ``volume:document'',
466 thus USD:1 refers to the first document in the ``User's Supplementary
468 References to manual pages are given as ``\fIname\fP(section)'' thus
470 refers to the shell manual entry in section 1.
472 The manual pages give descriptions of the features of the
473 4.4BSD system, as developed at the University of California at Berkeley.
474 They do not attempt to provide perspective or tutorial information about the
475 4.4BSD operating system, its facilities, or its implementation.
476 Various documents on those topics are contained in the
477 ``\s-1UNIX\s+1 User's Supplementary Documents'' (USD), the
478 ``\s-1UNIX\s+1 Programmer's Supplementary Documents'' (PSD),
479 and ``\s-1UNIX\s+1 System Manager's Manual'' (SMM).
480 In particular, for an overview see ``The \s-1UNIX\s+1 Time-Sharing System'' (PSD:1)
481 by Ritchie and Thompson; for a tutorial see
482 ``\s8\s-1UNIX\s+1\s10 for Beginners'' (USD:1) by Kernighan,
483 and for an guide to the new features of this latest version, see
484 ``Berkeley Software Architecture Manual (4.4 Edition)'' (PSD:5).
486 Within the area it surveys, this volume attempts to be timely, complete
487 and concise. Where the latter two objectives conflict,
488 the obvious is often left unsaid in favor of brevity.
489 It is intended that each program be described as it is, not as it should be.
490 Inevitably, this means that various sections will soon be out of date.
492 Commands are programs intended to be invoked directly by
493 the user, in contrast to subroutines, that are
494 intended to be called by the user's programs.
495 User commands are described in URM section 1.
496 Commands generally reside in directory
501 Some programs also reside in
508 These directories are searched automatically by the command interpreters.
509 Additional directories that may be of interest include
511 /\|usr/\|contrib/\|bin,
513 which has contributed software
517 which has old but sometimes still useful software and
519 /\|usr/\|local/\|bin,
521 which contains software local to your site.
523 Games have been relegated to URM section 6 and
527 to keep them from contaminating
528 the more staid information of URM section 1.
530 Miscellaneous collection of information necessary for
531 writing in various specialized languages such as character codes,
532 macro packages for typesetting, etc is contained in URM section 7.
534 System calls are entries into the BSD kernel.
535 The system call interface is identical to a C language
536 procedure call; the equivalent C procedures are described in PRM section 2.
538 An assortment of subroutines is available;
539 they are described in PRM section 3.
540 The primary libraries in which they are kept are described in
542 The functions are described in terms of C.
544 PRM section 4 discusses the characteristics of
545 each system ``file'' that refers to an I/O device.
546 The names in this section refer to the HP300 device names for the hardware,
547 instead of the names of the special files themselves.
549 The file formats and conventions (PRM section 5)
550 documents the structure of particular kinds of files;
551 for example, the form of the output of the loader and
552 assembler is given. Excluded are files used by only one command,
553 for example the assembler's intermediate files.
555 Commands and procedures intended for use primarily by the
556 system administrator are described in SMM section 8.
557 The files described here are almost all kept in the directory
559 The system administration binaries reside in
567 Each section consists of independent entries of a page or so each.
568 The name of the entry is in the upper corners of its pages,
569 together with the section number.
570 Entries within each section are alphabetized.
571 The page numbers of each entry start at 1;
572 it is infeasible to number consecutively the pages of
573 a document like this that is republished in many variant forms.
575 All entries are based on a common format;
576 not all subsections always appear.
581 subsection lists the exact names of the commands and subroutines
582 covered under the entry and gives a short description of their purpose.
586 summarizes the use of the program being described.
587 A few conventions are used, particularly in the Commands subsection:
591 words are considered literals, and are typed just as they appear.
593 Square brackets [ ] around an argument show that the argument is optional.
594 When an argument is given as ``name'', it always refers to a file name.
596 Ellipses ``.\|.\|.'' are used to show that the previous argument-prototype
599 A final convention is used by the commands themselves.
600 An argument beginning with a minus sign ``\-'' usually means that it is an
601 option-specifying argument, even if it appears in a position where
602 a file name could appear. Therefore, it is unwise to have files whose
603 names begin with ``\-''.
608 subsection discusses in detail the subject at hand.
612 subsection gives the names of files that are built into the program.
618 subsection gives pointers to related information.
622 subsection discusses the diagnostic indications that may be produced.
623 Messages that are intended to be self-explanatory are not listed.
627 subsection gives known bugs and sometimes deficiencies.
628 Occasionally the suggested fix is also described.
631 At the beginning of URM, PRM, and SSM is a List of Manual Pages,
632 organized by section and alphabetically within each section, and a
633 Permuted Index derived from that List.
634 Within each index entry, the title of the writeup to which
635 it refers is followed by the appropriate section number in parentheses.
636 This fact is important because there is considerable
637 name duplication among the sections, arising principally from commands that
638 exist only to exercise a particular system call.
639 Finally, there is a list of documents on the inside back cover of each volume.