|
|
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.