Commit | Line | Data |
---|---|---|
eefcf19b KM |
1 | .\" Copyright (c) 1980, 1993 Regents of the University of California. |
2 | .\" All rights reserved. | |
bac80489 | 3 | .\" |
eefcf19b KM |
4 | .\" %sccs.include.redist.roff% |
5 | .\" | |
a2197062 | 6 | .\" @(#)title.urm 8.8 (Berkeley) %G% |
bac80489 | 7 | .\" |
78d75eb3 KM |
8 | .af % i |
9 | .EH '''' | |
10 | .OH '''' | |
11 | .OF '''\s10- % -\s0' | |
12 | .EF '\s10- % -\s0''' | |
13 | \& | |
14 | .sp |2.75i | |
15 | .nr PS 24 | |
16 | .nr VS 28 | |
17 | .LP | |
18 | .ft B | |
19 | .ce 2 | |
20 | UNIX User's Reference Manual | |
21 | (URM) | |
74013f37 KM |
22 | .nr LL 5.5i |
23 | .nr PO 1.5i | |
24 | .bp | |
25 | \& | |
26 | .sp |1.5i | |
27 | .nr PS 11 | |
28 | .nr VS 13 | |
29 | .LP | |
30 | The USENIX Association, | |
31 | the UNIX and Advanced Computing Systems professional and technical organization, | |
32 | is a not-for-profit membership association of individuals and | |
33 | institutions with an interest in UNIX and UNIX-like systems, | |
34 | and, by extension, C++, X windows, and other programming tools. | |
35 | It is dedicated to: | |
36 | .IP \(bu | |
e5872c1c | 37 | fostering innovation and communicating research and technological developments, |
74013f37 KM |
38 | .IP \(bu |
39 | sharing ideas and experience relevant to UNIX, | |
40 | UNIX-related, and advanced computing systems, and | |
41 | .IP \(bu | |
42 | providing a neutral forum for the exercise of critical | |
43 | thought and airing of technical issues. | |
44 | .LP | |
45 | USENIX publishes a journal (\fBComputing Systems\fP), | |
46 | Conference and Workshop Proceedings, and a Book Series. | |
47 | .nr LL 6i | |
48 | .nr PO 1i | |
49 | .bp | |
50 | \& | |
51 | .sp |2.75i | |
52 | .nr PS 18 | |
53 | .nr VS 22 | |
78d75eb3 | 54 | .LP |
74013f37 KM |
55 | .ft B |
56 | .ce 2 | |
57 | UNIX User's Reference Manual | |
58 | (URM) | |
e188f896 | 59 | .sp |4i |
74013f37 | 60 | .ce 2 |
eefcf19b | 61 | 4.4 Berkeley Software Distribution |
74013f37 KM |
62 | (June, 1993) |
63 | .sp 3 | |
64 | .nr PS 15 | |
65 | .nr VS 18 | |
78d75eb3 | 66 | .LP |
74013f37 | 67 | .ce 2 |
e05e172b | 68 | Computer Systems Research Group |
74013f37 KM |
69 | University of California, Berkeley |
70 | .sp |8.2i | |
71 | .nr PS 12 | |
72 | .nr VS 15 | |
73 | .LP | |
74 | .ce 4 | |
75 | A USENIX Association Book | |
76 | The MIT Press | |
77 | Cambridge, Massachusetts | |
78 | London, England | |
bac80489 | 79 | .bp |
bac80489 | 80 | .hy 0 |
78d75eb3 KM |
81 | .nr PS 9 |
82 | .nr VS 11 | |
83 | .LP | |
74013f37 KM |
84 | First Printing, 1993 |
85 | .sp 1 | |
86 | .LP | |
d216586a KM |
87 | Copyright 1979, 1980, 1983, 1986, 1993 |
88 | The Regents of the University of California. All rights reserved. | |
78d75eb3 KM |
89 | .sp 1 |
90 | .LP | |
d216586a KM |
91 | Other than the specific manual pages and documents listed below |
92 | as copyrighted by AT&T, | |
93 | redistribution and use of this manual in source and binary forms, | |
94 | with or without modification, are permitted provided that the | |
95 | following conditions are met: | |
78d75eb3 KM |
96 | .IP 1) |
97 | Redistributions of this manual must retain the copyright | |
d216586a | 98 | notices on this page, this list of conditions and the following disclaimer. |
78d75eb3 KM |
99 | .IP 2) |
100 | Software or documentation that incorporates part of this manual must | |
d216586a KM |
101 | reproduce the copyright notices on this page, this list of conditions and |
102 | the following disclaimer in the documentation and/or other materials | |
103 | provided with the distribution. | |
78d75eb3 KM |
104 | .IP 3) |
105 | All advertising materials mentioning features or use of this software | |
d216586a KM |
106 | must display the following acknowledgement: |
107 | ``This product includes software developed by the University of | |
108 | California, Berkeley and its contributors.'' | |
78d75eb3 KM |
109 | .IP 4) |
110 | Neither the name of the University nor the names of its contributors | |
d216586a KM |
111 | may be used to endorse or promote products derived from this software |
112 | without specific prior written permission. | |
78d75eb3 | 113 | .LP |
d216586a KM |
114 | \fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
115 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
116 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
117 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
118 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
119 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
120 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
121 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
122 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
123 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
124 | SUCH DAMAGE.\s+1\fP | |
78d75eb3 KM |
125 | .sp 1 |
126 | .LP | |
d216586a KM |
127 | The Institute of Electrical and Electronics Engineers and the American |
128 | National Standards Committee X3, on Information Processing Systems have | |
129 | given us permission to reprint portions of their documentation. | |
78d75eb3 KM |
130 | .sp 0.5 |
131 | .LP | |
d216586a KM |
132 | In the following statement, the phrase ``this text'' refers to portions |
133 | of the system documentation. | |
78d75eb3 | 134 | .LP |
d216586a KM |
135 | ``Portions of this text are reprinted and reproduced in |
136 | electronic form in 4.4BSD from IEEE Std 1003.1-1988, IEEE | |
137 | Standard Portable Operating System Interface for Computer Environments | |
138 | (POSIX), copyright 1988 by the Institute of Electrical and Electronics | |
139 | Engineers, Inc. In the event of any discrepancy between these versions | |
140 | and the original IEEE Standard, the original IEEE Standard is the referee | |
141 | document.'' | |
78d75eb3 KM |
142 | .sp 0.5 |
143 | .LP | |
d216586a KM |
144 | In the following statement, the phrase ``This material'' refers to portions |
145 | of the system documentation. | |
78d75eb3 | 146 | .LP |
d216586a KM |
147 | ``This material is reproduced with permission from American National |
148 | Standards Committee X3, on Information Processing Systems. Computer and | |
149 | Business Equipment Manufacturers Association (CBEMA), 311 First St., NW, | |
150 | Suite 500, Washington, DC 20001-2178. The developmental work of | |
151 | Programming Language C was completed by the X3J11 Technical Committee.'' | |
78d75eb3 KM |
152 | .sp 1 |
153 | .LP | |
eefcf19b | 154 | Manual pages adb.1, bc.1, compact.1, crypt.1, dc.1, deroff.1, ed.1, |
ff5a3f93 | 155 | expr.1, graph.1, ld.1, learn.1, m4.1, plot.1, ptx.1, spell.1, |
eefcf19b KM |
156 | spline.1, struct.1, tar.1, units.1, uucp.1, uux.1, ching.6, eqnchar.7, |
157 | man.7, ms.7, and term.7 | |
158 | are copyright 1979, AT&T Bell Laboratories, Incorporated. | |
e188f896 KM |
159 | Holders of \x'-1p'UNIX\v'-4p'\s-3TM\s0\v'4p'/32V, |
160 | System III, or System V software licenses are | |
161 | permitted to copy these documents, or any portion of them, | |
162 | as necessary for licensed use of the software, | |
bac80489 KM |
163 | provided this copyright notice and statement of permission |
164 | are included. | |
78d75eb3 KM |
165 | .sp 1 |
166 | .LP | |
d216586a | 167 | The views and conclusions contained in this manual are those of the |
e188f896 | 168 | authors and should not be interpreted as representing official policies, |
eefcf19b | 169 | either expressed or implied, of the Regents of the University of California. |
78d75eb3 KM |
170 | .sp 1 |
171 | .LP | |
172 | This book was printed and bound in the United States of America. | |
173 | .br | |
174 | Distributed by The MIT Press. | |
175 | .bp | |
176 | \& | |
177 | .sp |1.5i | |
178 | .nr PS 11 | |
179 | .nr VS 13 | |
180 | .LP | |
181 | .ce 1 | |
182 | \s+4\fBContents\fP\s-4 | |
183 | .sp 3 | |
184 | .TS | |
185 | expand; | |
186 | l r. | |
187 | The Computer Systems Research Group, 1979\-1993 vii | |
188 | Prefaces xi | |
189 | Introduction xvii | |
190 | List of Manual Pages xxiii | |
191 | Permuted Index xli | |
192 | Reference Manual Sections 1, 6, 7 tabbed pages | |
193 | List of Documents inside back cover | |
194 | .TE | |
195 | .if o .bp | |
196 | \& | |
197 | .bp | |
198 | .\" | |
199 | .\" The contributor list below is derived from the file that resides in | |
200 | .\" vangogh:~admin/contrib/contrib: | |
201 | .\" | |
a2197062 | 202 | .\" @(#)contrib 5.55 (Berkeley) 4/18/94 |
78d75eb3 KM |
203 | .\" |
204 | .\" This file should not be editted, rather the original contrib file | |
205 | .\" should be used to recrete this one following the directions at its top. | |
206 | .\" Contrib starts here and continues to the comment `END OF CONTRIB'. | |
207 | .\" | |
208 | \& | |
209 | .sp |1i | |
210 | .ps 16 | |
211 | .ce | |
212 | \fBThe Computer Systems Research Group 1979 \- 1993\fP | |
213 | .sp 3 | |
214 | .nr PS 11 | |
215 | .nr VS 12 | |
216 | .LP | |
217 | .nf | |
218 | .in +0.5i | |
219 | \fBCSRG Technical Staff\fP | |
220 | .sp 1 | |
221 | .in +1i | |
222 | Jim Bloom | |
223 | Keith Bostic | |
224 | Ralph Campbell | |
225 | Kevin Dunlap | |
226 | William N. Joy | |
227 | Michael J. Karels | |
228 | Samuel J. Leffler | |
229 | Marshall Kirk McKusick | |
230 | Miriam Amos Nihart | |
231 | Keith Sklower | |
232 | Marc Teitelbaum | |
233 | Michael Toy | |
234 | .in -1i | |
235 | .sp 3 | |
236 | \fBCSRG Administration and Support\fP | |
237 | .sp 1 | |
238 | .in +1i | |
239 | Robert Fabry | |
240 | Domenico Ferrari | |
241 | Susan L. Graham | |
242 | Bob Henry | |
243 | Anne Hughes | |
244 | Bob Kridle | |
245 | David Mosher | |
246 | Pauline Schwartz | |
247 | Mark Seiden | |
248 | Jean Wood | |
249 | .in -1i | |
250 | .fi | |
251 | .sp 3 | |
252 | \fBOrganizations that funded the CSRG with grants, | |
253 | gifts, personnel, and/or hardware.\fP | |
254 | .sp 1 | |
255 | .nf | |
256 | .in +1i | |
257 | Center for Advanced Aviation System Development, The MITRE Corp. | |
258 | Compaq Computer Corporation | |
259 | Cray Research Inc. | |
260 | Department of Defense Advance Research Projects Agency (DARPA) | |
261 | Digital Equipment Corporation | |
262 | The Hewlett-Packard Company | |
263 | NASA Ames Research Center | |
264 | The National Science Foundation | |
265 | The Open Software Foundation | |
266 | UUNET Technologies Inc. | |
267 | .in -1.5i | |
268 | .fi | |
269 | .bp | |
270 | .nr PS 10 | |
271 | .nr VS 11 | |
272 | .LP | |
273 | \fBThe following are people and organizations that provided a | |
274 | large subsystem for the BSD releases.\fP | |
275 | .sp | |
276 | .TS | |
277 | l l. | |
278 | ANSI C library Chris Torek | |
279 | ANSI C prototypes Donn Seeley and John Kohl | |
280 | Autoconfiguration Robert Elz | |
281 | C library documentation American National Standards Committee X3 | |
282 | CCI 6/32 support Computer Consoles Inc. | |
283 | DEC 3000/5000 support Ralph Campbell | |
284 | Disklabels Symmetric Computer Systems | |
285 | Documentation Cynthia Livingston and The USENIX Association | |
286 | Franz Lisp Richard Fateman, John Foderaro, Keith Sklower, Kevin Layer | |
287 | GCC, GDB The Free Software Foundation | |
288 | Groff James Clark (The FSF) | |
289 | HP300 support Jeff Forys, Mike Hibler, Jay Lepreau, Donn Seeley and the Systems | |
290 | Programming Group; University of Utah Computer Science Department | |
291 | ISODE Marshall Rose | |
292 | Ingres Mike Stonebraker, Gene Wong, and the Berkeley Ingres Research Group | |
293 | Intel 386/486 support Bill Jolitz and TeleMuse | |
294 | Job control Jim Kulp | |
295 | Kerberos Project Athena and MIT | |
296 | Kernel support Bill Shannon and Sun Microsystems Inc. | |
297 | LFS Margo Seltzer, Mendel Rosenblum, Carl Staelin | |
298 | MIPS support Trent Hein | |
299 | Math library K.C. Ng, Zhishun Alex Liu, S. McDonald, P. Tang and W. Kahan | |
300 | NFS Rick Macklem | |
301 | NFS automounter Jan-Simon Pendry | |
302 | Network device drivers Micom-Interlan and Excelan | |
303 | Omron Luna support Akito Fujita and Shigeto Mochida | |
304 | Quotas Robert Elz | |
305 | RPC support Sun Microsystems Inc. | |
306 | Shared library support Rob Gingell and Sun Microsystems Inc. | |
307 | Sony News 3400 support Kazumasa Utashiro | |
308 | Sparc I/II support Computer Systems Engineering Group, Lawrence Berkeley Laboratory | |
309 | Stackable file systems John Heidemann | |
310 | Stdio Chris Torek | |
311 | System documentation The Institute of Electrical and Electronics Engineers, Inc. | |
312 | TCP/IP Rob Gurwitz and Bolt Beranek and Newman Inc. | |
313 | Timezone support Arthur David Olson | |
314 | Transport/Network OSI layers IBM Corporation and the University of Wisconsin | |
315 | Kernel XNS assistance William Nesheim, J. Q. Johnson, Chris Torek, and James O'Toole | |
316 | User level XNS Cornell University | |
317 | VAX 3000 support Mt. Xinu and Tom Ferrin | |
318 | VAX BI support Chris Torek | |
319 | VAX device support Digital Equipment Corporation and Helge Skrivervik | |
320 | Versatec printer/plotter support University of Toronto | |
321 | Virtual memory implementation Avadis Tevanian, Jr., Michael Wayne Young, | |
322 | and the Carnegie-Mellon University Mach project | |
323 | X25 University of British Columbia | |
324 | .TE | |
325 | .bp | |
326 | .LP | |
327 | \fBThe following are people and organizations that provided a specific | |
328 | item, program, library routine or program maintenance for the BSD system. | |
329 | (Their contribution may not be part of the final 4.4BSD release.)\fP | |
330 | .nr PS 9 | |
331 | .nr VS 10 | |
332 | .ps 9 | |
333 | .vs 10 | |
78d75eb3 KM |
334 | .TS |
335 | l l. | |
336 | 386 device drivers Carnegie-Mellon University Mach project | |
337 | 386 device drivers Don Ahn, Sean Fagan and Tim Tucker | |
338 | HCX device drivers Harris Corporation | |
339 | Kernel enhancements Robert Elz, Peter Ivanov, Ian Johnstone, Piers Lauder, | |
340 | John Lions, Tim Long, Chris Maltby, Greg Rose and John Wainwright | |
6819fad7 | 341 | ISO-9660 filesystem Pace Willisson, Atsushi Murai |
78d75eb3 | 342 | .TE |
a2197062 | 343 | .sp -0.4 |
78d75eb3 KM |
344 | .TS |
345 | l l l l. | |
e05e172b KM |
346 | adventure(6) Don Woods log(3) Peter McIlroy |
347 | adventure(6) Jim Gillogly look(1) David Hitz | |
348 | adventure(6) Will Crowther ls(1) Elan Amir | |
349 | apply(1) Rob Pike ls(1) Michael Fischbein | |
a2197062 KM |
350 | apply(1) Jan-Simon Pendry lsearch(3) Roger L. Snyder |
351 | ar(1) Hugh A. Smith m4(1) Ozan Yigit | |
352 | arithmetic(6) Eamonn McManus mail(1) Kurt Schoens | |
353 | arp(8) Sun Microsystems Inc. make(1) Adam de Boor | |
354 | at(1) Steve Wall me(7) Eric Allman | |
355 | atc(6) Ed James mergesort(3) Peter McIlroy | |
356 | awk(1) Arnold Robbins mh(1) Marshall Rose | |
357 | awk(1) David Trueman mh(1) The Rand Corporation | |
358 | backgammon(6) Alan Char mille(6) Ken Arnold | |
359 | banner(1) Mark Horton mknod(8) Kevin Fall | |
360 | battlestar(6) David Riggle monop(6) Ken Arnold | |
361 | bcd(6) Steve Hayman more(1) Eric Shienbrood | |
362 | bdes(1) Matt Bishop more(1) Mark Nudleman | |
363 | berknet(1) Eric Schmidt mountd(8) Herb Hasler | |
364 | bib(1) Dain Samples mprof(1) Ben Zorn | |
365 | bib(1) Gary M. Levin msgs(1) David Wasley | |
366 | bib(1) Timothy A. Budd multicast Stephen Deering | |
367 | bitstring(3) Paul Vixie mv(1) Ken Smith | |
368 | boggle(6) Barry Brachman named/bind(8) Douglas Terry | |
369 | bpf(4) Steven McCanne named/bind(8) Kevin Dunlap | |
370 | btree(3) Mike Olson news(1) Rick Adams (and a cast of thousands) | |
371 | byte-range locking Scooter Morris nm(1) Hans Huebner | |
372 | caesar(6) John Eldridge pascal(1) Kirk McKusick | |
373 | caesar(6) Stan King pascal(1) Peter Kessler | |
374 | cal(1) Kim Letkeman paste(1) Adam S. Moskowitz | |
375 | cat(1) Kevin Fall patch(1) Larry Wall | |
376 | chess(6) Stuart Cracraft (The FSF) pax(1) Keith Muller | |
377 | ching(6) Guy Harris phantasia(6) C. Robertson | |
378 | cksum(1) James W. Williams phantasia(6) Edward A. Estes | |
379 | clri(8) Rich $alz ping(8) Mike Muuss | |
380 | col(1) Michael Rendell pom(6) Keith E. Brandt | |
381 | comm(1) Case Larsen pr(1) Keith Muller | |
382 | compact(1) Colin L. McMaster primes(6) Landon Curt Noll | |
383 | compress(1) James A. Woods qsort(3) Doug McIlroy | |
384 | compress(1) Joseph Orost qsort(3) Earl Cohen | |
385 | compress(1) Spencer Thomas qsort(3) Jon Bentley | |
386 | courier(1) Eric Cooper quad(3) Chris Torek | |
387 | cp(1) David Hitz quiz(6) Jim R. Oldroyd | |
388 | cpio(1) AT&T quiz(6) Keith Gabryelski | |
389 | crypt(3) Tom Truscott radixsort(3) Dan Bernstein | |
390 | csh(1) Christos Zoulas radixsort(3) Peter McIlroy | |
391 | csh(1) Len Shar rain(6) Eric P. Scott | |
392 | curses(3) Elan Amir ranlib(1) Hugh A. Smith | |
393 | curses(3) Ken Arnold rcs(1) Walter F. Tichy | |
394 | cut(1) Adam S. Moskowitz rdist(1) Michael Cooper | |
395 | cut(1) Marciano Pitargue regex(3) Henry Spencer | |
396 | dbx(1) Mark Linton robots(6) Ken Arnold | |
397 | dd(1) Keith Muller rogue(6) Timothy C. Stoehr | |
398 | dd(1) Lance Visser rs(1) John Kunze | |
399 | des(1) Jim Gillogly sail(6) David Riggle | |
400 | des(1) Phil Karn sail(6) Edward Wang | |
401 | des(1) Richard Outerbridge sccs(1) Eric Allman | |
402 | dipress(1) Xerox Corporation scsiformat(1) Lawrence Berkeley Laboratory | |
403 | disklabel(8) Symmetric Computer Systems sdb(1) Howard Katseff | |
404 | du(1) Chris Newcomb sed(1) Diomidis Spinellis | |
405 | dungeon(6) R.M. Supnik sendmail(8) Eric Allman | |
406 | ed(1) Rodney Ruddock setmode(3) Dave Borman | |
407 | emacs(1) Richard Stallman sh(1) Kenneth Almquist | |
408 | erf(3) Peter McIlroy, K.C. Ng slattach(8) Rick Adams | |
409 | error(1) Robert R. Henry slip(8) Rick Adams | |
410 | ex(1) Mark Horton spms(1) Peter J. Nicklin | |
411 | factor(6) Landon Curt Noll strtod(3) David M. Gay | |
412 | file(1) Ian Darwin swab(3) Jeffrey Mogul | |
413 | find(1) Cimarron Taylor sysconf(3) Sean Eric Fagan | |
414 | finger(1) Tony Nardo sysline(1) J.K. Foderaro | |
415 | fish(6) Muffy Barkocy syslog(3) Eric Allman | |
416 | fmt(1) Kurt Schoens systat(1) Bill Reeves | |
417 | fnmatch(3) Guido van Rossum systat(1) Robert Elz | |
418 | fold(1) Kevin Ruddy tail(1) Edward Sze-Tyan Wang | |
419 | fortune(6) Ken Arnold talk(1) Clem Cole | |
420 | fpr(1) Robert Corbett talk(1) Kipp Hickman | |
421 | fsdb(8) Computer Consoles Inc. talk(1) Peter Moore | |
422 | fsplit(1) Asa Romberger telnet(1) Dave Borman | |
423 | fsplit(1) Jerry Berkman telnet(1) Paul Borman | |
424 | gcc/groff integration UUNET Technologies, Inc. termcap(5) John A. Kunze | |
425 | gcore(1) Eric Cooper termcap(5) Mark Horton | |
426 | getcap(3) Casey Leedom test(1) Kenneth Almquist | |
427 | glob(3) Guido van Rossum tetris(6) Chris Torek | |
428 | gprof(1) Peter Kessler tetris(6) Darren F. Provine | |
429 | gprof(1) Robert R. Henry timed(8) Riccardo Gusella | |
430 | hack(6) Andries Brouwer (and a cast of thousands) timed(8) Stefano Zatti | |
431 | hangman(6) Ken Arnold tn3270(1) Gregory Minshall | |
432 | hash(3) Margo Seltzer tr(1) Igor Belchinskiy | |
433 | heapsort(3) Elmer Yglesias traceroute(8) Van Jacobson | |
434 | heapsort(3) Kevin Lew trek(6) Eric Allman | |
435 | heapsort(3) Ronnie Kon tset(1) Eric Allman | |
436 | hunt(6) Conrad Huang tsort(1) Michael Rendell | |
437 | hunt(6) Greg Couch unifdef(1) Dave Yost | |
438 | icon(1) Bill Mitchell uniq(1) Case Larsen | |
439 | icon(1) Ralph Griswold uucpd(8) Rick Adams | |
440 | indent(1) David Willcox uudecode(1) Mark Horton | |
441 | indent(1) Eric Schmidt uuencode(1) Mark Horton | |
442 | indent(1) James Gosling uuq(1) Lou Salkind | |
443 | indent(1) Sun Microsystems uuq(1) Rick Adams | |
444 | init(1) Donn Seeley uusnap(8) Randy King | |
445 | j0(3) Sun Microsystems, Inc. uusnap(8) Rick Adams | |
446 | j1(3) Sun Microsystems, Inc. vacation(1) Eric Allman | |
447 | jn(3) Sun Microsystems, Inc. vi(1) Steve Kirkendall | |
448 | join(1) David Goodenough which(1) Peter Kessler | |
449 | join(1) Michiro Hikida who(1) Michael Fischbein | |
450 | join(1) Steve Hayman window(1) Edward Wang | |
451 | jot(1) John Kunze worm(6) Michael Toy | |
452 | jove(1) Jonathon Payne worms(6) Eric P. Scott | |
453 | kermit(1) Columbia University write(1) Craig Leres | |
454 | kvm(3) Peter Shipley write(1) Jef Poskanzer | |
455 | kvm(3) Steven McCanne wump(6) Dave Taylor | |
456 | lam(1) John Kunze X25/Ethernet Univ. of Erlangen-Nuremberg | |
457 | larn(6) Noah Morgan X25/LLC2 Dirk Husemann | |
458 | lastcomm(1) Len Edmondson xargs(1) John B. Roll Jr. | |
459 | lex(1) Vern Paxson xneko(6) Masayuki Koba | |
460 | libm(3) Peter McIlroy XNSrouted(1) Bill Nesheim | |
461 | libm(3) UUNET Technologies, Inc. xroach(6) J.T. Anderson | |
462 | locate(1) James A. Woods yacc(1) Robert Paul Corbett | |
463 | lock(1) Bob Toxen | |
78d75eb3 KM |
464 | .TE |
465 | .\" | |
466 | .\" END OF CONTRIB: Contrib ends here. | |
467 | .\" | |
468 | .if o .bp | |
469 | \& | |
470 | .bp | |
471 | .nr PS 10 | |
472 | .nr VS 12 | |
473 | \& | |
474 | .sp |1.5i | |
475 | .LP | |
476 | .ce | |
477 | \fB\s+4PREFACE\s-4\fP | |
478 | .sp 3 | |
479 | .NH 1 | |
480 | Introduction | |
481 | .PP | |
482 | The major new facilities available in the 4.4BSD release are | |
483 | a new virtual memory system, | |
484 | the addition of ISO/OSI networking support, | |
485 | a new virtual filesystem interface supporting filesystem stacking, | |
486 | a freely redistributable implementation of NFS, | |
487 | a log-structured filesystem, | |
488 | enhancement of the local filesystems to support | |
489 | files and filesystems that are up to 2^63 bytes in size, | |
490 | enhanced security and system management support, | |
491 | and the conversion to and addition of the IEEE Std1003.1 (``POSIX'') | |
492 | facilities and many of the IEEE Std1003.2 facilities. | |
493 | In addition, many new utilities and additions have been made to the C-library. | |
494 | The kernel sources have been reorganized to collect all machine-dependent | |
495 | files for each architecture under one directory, | |
496 | and most of the machine-independent code is now free of code | |
497 | conditional on specific machines. | |
498 | The user structure and process structure have been reorganized | |
499 | to eliminate the statically-mapped user structure and to make most | |
500 | of the process resources shareable by multiple processes. | |
501 | The system and include files have been converted to be compatible | |
502 | with ANSI C, including function prototypes for most of the exported | |
503 | functions. | |
504 | There are numerous other changes throughout the system. | |
505 | .NH 1 | |
506 | Changes in the Kernel | |
507 | .PP | |
508 | This release includes several important structural kernel changes. | |
509 | The kernel uses a new internal system call convention; | |
510 | the use of global (``u-dot'') variables for parameters and error returns | |
511 | has been eliminated, | |
512 | and interrupted system calls no longer abort using non-local goto's (longjmp's). | |
513 | A new sleep interface separates signal handling from scheduling priority, | |
514 | returning characteristic errors to abort or restart the current system call. | |
515 | This sleep call also passes a string describing the process state, | |
516 | which is used by the ps(1) program. | |
517 | The old sleep interface can be used only for non-interruptible sleeps. | |
518 | .PP | |
519 | Many data structures that were previously statically allocated | |
520 | are now allocated dynamically. | |
521 | These structures include mount entries, file entries, | |
522 | user open file descriptors, the process entries, the vnode table, | |
523 | the name cache, and the quota structures. | |
524 | .PP | |
6819fad7 KM |
525 | The 4.4BSD distribution adds support for several new architectures including |
526 | SPARC-based Sparcstations 1 and 2, | |
527 | MIPS-based Decstation 3100 and 5000 and Sony NEWS, | |
528 | 68000-based Hewlett-Packard 9000/300 and Omron Luna, and | |
529 | 386-based Personal Computers. | |
78d75eb3 KM |
530 | Both the HP300 and SPARC ports feature the ability to run binaries |
531 | built for the native operating system (HP-UX or SunOS) by emulating | |
532 | their system calls. | |
533 | Though this native operating system compatibility was provided by the | |
534 | developers as needed for their purposes and is by no means complete, | |
535 | it is complete enough to run several non-trivial applications including | |
536 | those that require HP-UX or SunOS shared libraries. | |
537 | For example, the vendor supplied X11 server and windowing environment | |
538 | can be used on both the HP300 and SPARC. | |
539 | .NH 2 | |
540 | Virtual memory changes | |
541 | .PP | |
542 | The new virtual memory implementation is derived from the MACH | |
543 | operating system developed at Carnegie-Mellon, | |
544 | and was ported to the BSD kernel at the University of Utah. | |
545 | The MACH virtual memory system call interface has been replaced with the | |
546 | ``mmap''-based interface described in the ``Berkeley Software | |
547 | Architecture Manual''. | |
548 | The interface is similar to the interfaces shipped | |
549 | by several commercial vendors such as Sun, USL, and Convex Computer Corp. | |
550 | The integration of the new virtual memory is functionally complete, | |
551 | but, like most MACH-based virtual memory systems, | |
552 | still has serious performance problems under heavy memory load. | |
553 | .NH 2 | |
554 | Networking additions and changes | |
555 | .PP | |
556 | The ISO/OSI Networking consists of a kernel implementation of | |
557 | transport class 4 (TP-4), | |
558 | connectionless networking protocol (CLNP), | |
559 | and 802.3-based link-level support (hardware-compatible with Ethernet*). | |
560 | .FS | |
561 | *Ethernet is a trademark of the Xerox Corporation. | |
562 | .FE | |
563 | We also include support for ISO Connection-Oriented Network Service, | |
564 | X.25, TP-0. | |
565 | The session and presentation layers are provided outside | |
566 | the kernel by the ISO development environment (ISODE). | |
567 | Included in this development environment are file | |
568 | transfer and management (FTAM), virtual terminals (VT), | |
569 | a directory services implementation (X.500), and miscellaneous other utilities. | |
570 | .PP | |
571 | Several important enhancements have been added to the TCP/IP | |
572 | protocols including TCP header prediction and | |
573 | serial line IP (SLIP) with header compression. | |
574 | The routing implementation has been completely rewritten | |
575 | to use a hierarchical routing tree with a mask per route | |
576 | to support the arbitrary levels of routing found in the ISO protocols. | |
577 | The routing table also stores and caches route characteristics | |
578 | to speed the adaptation of the throughput and congestion avoidance | |
579 | algorithms. | |
580 | .NH 2 | |
581 | Additions and changes to filesystems | |
582 | .PP | |
583 | The 4.4BSD distribution contains most of the interfaces | |
584 | specified in the IEEE Std1003.1 system interface standard. | |
585 | Filesystem additions include IEEE Std1003.1 FIFOs, | |
586 | byte-range file locking, and saved user and group identifiers. | |
587 | .PP | |
588 | A new virtual filesystem interface has been added to the | |
589 | kernel to support multiple filesystems. | |
590 | In comparison with other interfaces, | |
591 | the Berkeley interface has been structured for more efficient support | |
592 | of filesystems that maintain state (such as the local filesystem). | |
593 | The interface has been extended with support for stackable | |
594 | filesystems done at UCLA. | |
595 | These extensions allow for filesystems to be layered on top of each | |
596 | other and allow new vnode operations to be added without requiring | |
597 | changes to existing filesystem implementations. | |
598 | For example, the umap filesystem | |
599 | is used to mount a sub-tree of an existing filesystem | |
600 | that uses a different set of uids and gids than the local system. | |
601 | Such a filesystem could be mounted from a remote site via NFS or it | |
602 | could be a filesystem on removable media brought from some foreign | |
603 | location that uses a different password file. | |
604 | .PP | |
605 | In addition to the local ``fast filesystem'', | |
606 | we have added an implementation of the network filesystem (NFS) | |
607 | that fully interoperates with the NFS shipped by Sun and its licensees. | |
608 | Because our NFS implementation was implemented using only the | |
609 | publicly available NFS specification, | |
610 | it does not require a license from Sun to use in source or binary form. | |
611 | By default it runs over UDP to be compatible with Sun's implementation. | |
612 | However, it can be configured on a per-mount basis to run over TCP. | |
613 | Using TCP allows it to be used quickly and efficiently through | |
614 | gateways and over long-haul networks. | |
615 | Using an extended protocol, it supports Leases to allow a limited | |
616 | callback mechanism that greatly reduces the network traffic necessary | |
617 | to maintain cache consistency between the server and its clients. | |
618 | .PP | |
619 | A new log-structured filesystem has been added that provides | |
620 | near disk-speed output and fast crash recovery. | |
621 | It is still experimental in the 4.4BSD release, | |
622 | so we do not recommend it for production use. | |
623 | We have also added a memory-based filesystem that runs in | |
624 | pageable memory, allowing large temporary filesystems without | |
625 | requiring dedicated physical memory. | |
626 | .PP | |
627 | The local ``fast filesystem'' has been enhanced to do | |
628 | clustering which allows large pieces of files to be | |
629 | allocated contiguously resulting in near doubling | |
630 | of filesystem throughput. | |
631 | The filesystem interface has been extended to allow | |
632 | files and filesystems to grow to 2^63 bytes in size. | |
633 | The quota system has been rewritten to support both | |
634 | user and group quotas (simultaneously if desired). | |
635 | Quota expiration is based on time rather than | |
636 | the previous metric of number of logins over quota. | |
637 | This change makes quotas more useful on fileservers | |
638 | onto which users seldom login. | |
639 | .PP | |
640 | The system security has been greatly enhanced by the | |
641 | addition of additional file flags that permit a file to be | |
642 | marked as immutable or append only. | |
643 | Once set, these flags can only be cleared by the super-user | |
644 | when the system is running single user. | |
645 | To protect against indiscriminate reading or writing of kernel | |
646 | memory, all writing and most reading of kernel data structures | |
647 | must be done using a new ``sysctl'' interface. | |
648 | The information to be access is described through an extensible | |
649 | ``Management Information Base'' (MIB). | |
650 | .NH 2 | |
651 | POSIX terminal driver changes | |
652 | .PP | |
653 | The biggest area of change is a new terminal driver. | |
654 | The terminal driver is similar to the System V terminal driver | |
655 | with the addition of the necessary extensions to get the | |
656 | functionality previously available in the 4.3BSD terminal driver. | |
657 | 4.4BSD also adds the IEEE Std1003.1 job control interface, | |
658 | which is similar to the 4.3BSD job control interface, | |
659 | but adds a security model that was missing in the | |
660 | 4.3BSD job control implementation. | |
661 | A new system call, \fIsetsid\fP, | |
662 | creates a job-control session consisting of a single process | |
663 | group with one member, the caller, that becomes a session leader. | |
664 | Only a session leader may acquire a controlling terminal. | |
665 | This is done explicitly via a \s-1TIOCSCTTY\s+1 \fIioctl\fP call, | |
666 | not implicitly by an \fIopen\fP call. | |
667 | The call fails if the terminal is in use. | |
668 | .PP | |
669 | For backward compatibility, | |
670 | both the old \fIioctl\fP | |
671 | calls and old options to \fIstty\fP | |
672 | are emulated. | |
673 | .NH 1 | |
674 | Changes to the utilities | |
675 | .PP | |
676 | There are several new tools and utilities included in this release. | |
677 | A new version of ``make'' allows much-simplified makefiles for the | |
678 | system software and allows compilation for multiple architectures | |
679 | from the same source tree (which may be mounted read-only). | |
680 | Notable additions to the libraries include functions to traverse a | |
681 | filesystem hierarchy, database interfaces to btree and hashing functions, | |
682 | a new, fast implementation of stdio and a radix sort function. | |
683 | The additions to the utility suite include greatly enhanced versions of | |
684 | programs that display system status information, implementations of | |
685 | various traditional tools described in the IEEE Std1003.2 standard, | |
686 | and many others. | |
687 | .PP | |
688 | We have been tracking the IEEE Std1003.2 shell and utility work | |
689 | and have included prototypes of many of the proposed utilities. | |
690 | Most of the traditional utilities have been replaced | |
691 | with implementations conformant to the POSIX standards. | |
692 | Almost the entire manual suite has been rewritten to | |
693 | reflect the POSIX defined interfaces. | |
694 | In rewriting this software, we have generally | |
695 | been rewarded with significant performance improvements. | |
696 | Most of the libraries and header files have been converted | |
697 | to be compliant with ANSI C. | |
698 | The system libraries and utilities all compile | |
699 | with either ANSI or traditional C. | |
700 | .PP | |
701 | The Kerberos (version 4) authentication software has been | |
702 | integrated into much of the system (including NFS) to provide | |
703 | the first real network authentication on BSD. | |
704 | .PP | |
e5872c1c KB |
705 | A new implementation of the \fIex/vi\fP text editors is available |
706 | in this release. | |
707 | It is intended as a bug-for-bug compatible version of the editors. | |
708 | It also has a few new features: 8-bit clean data, lines and files | |
709 | limited only by memory and disk space, split screens, tags stacks | |
710 | and left-right scrolling among them. | |
711 | \fINex/nvi\fP | |
712 | is not yet production quality; future versions of this software may | |
713 | be retrieved by anonymous ftp from ftp.cs.berkeley.edu, in the | |
714 | directory ucb/4bsd. | |
715 | .PP | |
78d75eb3 KM |
716 | The \fIfind\fP |
717 | utility has two new options that are important to be aware of if you | |
718 | intend to use NFS. | |
719 | The ``fstype'' and ``prune'' options can be used together to prevent | |
720 | find from crossing NFS mount points. | |
721 | .NH 2 | |
722 | Additions and changes to the libraries | |
723 | .PP | |
724 | The \fIcurses\fP | |
725 | library has been largely rewritten. | |
726 | Important additional features include support | |
727 | for scrolling and \fItermios\fP. | |
728 | .PP | |
729 | An application front-end editing library, named libedit, has been | |
730 | added to the system. | |
731 | .PP | |
732 | A superset implementation of the SunOS kernel memory interface library, | |
733 | \fIlibkvm\fP, has been integrated into the system. | |
734 | .PP | |
735 | Nearly the entire C-library has been rewritten. | |
736 | Some highlights of the changes to the 4.4BSD C-library: | |
737 | .IP \(bu | |
738 | The newly added \fIfts\fP | |
739 | functions will do either physical or logical traversal of | |
740 | a file hierarchy as well as handle essentially infinite depth | |
741 | filesystems and filesystems with cycles. | |
742 | All the utilities in 4.4BSD that traverse file hierarchies | |
743 | have been converted to use \fIfts\fP. | |
744 | The conversion has always resulted in a significant performance | |
745 | gain, often of four or five to one in system time. | |
746 | .IP \(bu | |
747 | The newly added \fIdbopen\fP | |
748 | functions are intended to be a family of database access methods. | |
749 | Currently, they consist of \fIhash\fP, | |
750 | an extensible, dynamic hashing scheme, | |
751 | \fIbtree\fP, a sorted, balanced tree structure (B+tree's), and | |
752 | \fIrecno\fP, a flat-file interface for fixed or variable length records | |
753 | referenced by logical record number. | |
754 | Each of the access methods stores associated key/data pairs and | |
755 | uses the same record oriented interface for access. | |
e5872c1c KB |
756 | Future versions of this software may be retrieved by anonymous ftp |
757 | from ftp.cs.berkeley.edu, in the directory ucb/4bsd. | |
78d75eb3 KM |
758 | .IP \(bu |
759 | The \fIqsort\fP | |
760 | function has been rewritten for additional performance. | |
761 | In addition, three new types of sorting functions, | |
762 | \fIheapsort\fP, \fImergesort\fP, and \fIradixsort\fP | |
763 | have been added to the system. | |
764 | The \fImergesort\fP | |
765 | function is optimized for data with pre-existing order, | |
766 | in which case it usually significantly outperforms \fIqsort\fP. | |
767 | The \fIradixsort\fP | |
768 | functions are variants of most-significant-byte radix sorting. | |
769 | They take time linear to the number of bytes to be | |
770 | sorted, usually significantly outperforming \fIqsort\fP | |
771 | on data that can be sorted in this fashion. | |
772 | An implementation of the POSIX 1003.2 standard \fIsort\fP | |
773 | based on \fIradixsort\fP is included in 4.4BSD. | |
774 | .IP \(bu | |
775 | The floating point support in the C-library has been replaced | |
776 | and is now accurate. | |
777 | .IP \(bu | |
778 | The C functions specified by both ANSI C, POSIX 1003.1 and | |
779 | 1003.2 are now part of the C-library. | |
780 | This includes support for file name matching, shell globbing | |
781 | and both basic and extended regular expressions. | |
782 | .IP \(bu | |
783 | ANSI C multibyte and wide character support has been integrated. | |
784 | The rune functionality from the Bell Labs' Plan 9 system is provided | |
785 | as well. | |
786 | .IP \(bu | |
787 | The \fItermcap\fP | |
788 | functions have been generalized and replaced with a general | |
789 | purpose interface named \fIgetcap\fP. | |
790 | .IP \(bu | |
791 | The \fIstdio\fP | |
792 | routines have been replaced, and are usually much faster. | |
793 | In addition, the \fIfunopen\fP | |
794 | interface permits applications to provide their own I/O stream | |
795 | function support. | |
6819fad7 KM |
796 | .NH 1 |
797 | Acknowledgements | |
798 | .PP | |
e5872c1c KB |
799 | We were greatly assisted by the past employees of the Computer Systems |
800 | Research Group: Mike Karels, Keith Sklower, and Marc Tietelbaum. | |
801 | Our distribution coordinator, Pauline Schwartz, has reliably managed | |
802 | the finances and the mechanics of shipping distributions for | |
78d75eb3 | 803 | nearly the entire fourteen years of the group's existence. |
e5872c1c KB |
804 | Without the help of lawyers Mary MacDonald, Joel Linzner, |
805 | and Carla Shapiro, the 4.4BSD-Lite distribution would never | |
b4bdb93d KM |
806 | have seen the light of day. |
807 | Much help was provided by Chris Demetriou in getting bug fixes | |
808 | from NetBSD integrated back into the 4.4BSD-Lite distribution. | |
e5872c1c KB |
809 | .PP |
810 | The vast majority of the 4.4BSD distribution comes from the numerous | |
811 | people in the UNIX community that provided their time and energy in | |
812 | creating the software contained in this release. | |
78d75eb3 KM |
813 | We dedicate this distribution to them. |
814 | .sp 1 | |
815 | .in 4i | |
816 | .nf | |
817 | M. K. McKusick | |
818 | K. Bostic | |
819 | .fi | |
820 | .in 0 | |
6819fad7 KM |
821 | .sp 3 |
822 | .nr PS 9 | |
823 | .nr VS 10 | |
824 | .LP | |
78d75eb3 KM |
825 | .ne 1i |
826 | .ce | |
827 | \fIPreface to the 4.3 Berkeley distribution\fP | |
828 | .sp 1 | |
829 | .LP | |
830 | This update to the 4.2 distribution of August 1983 provides | |
831 | substantially improved performance, reliability, and security, | |
832 | the addition of Xerox Network System (NS) to the set of networking domains, | |
833 | and partial support for the VAX 8600 and MICROVAXII. | |
834 | .LP | |
835 | We were greatly assisted by the DEC UNIX Engineering group who | |
836 | provided two full time employees, Miriam Amos and Kevin Dunlap, | |
837 | to work at Berkeley. They were responsible for developing and | |
838 | debugging the distributed domain based name server | |
839 | and integrating it into the mail system. | |
840 | Mt Xinu provided the bug list distribution service as well as | |
841 | donating their MICROVAXII port to 4.3BSD. | |
842 | Drivers for the MICROVAXII were done by Rick Macklem | |
843 | at the University of Guelph. | |
844 | Sam Leffler provided valuable assistance and advice with many projects. | |
845 | Keith Sklower coordinated with William Nesheim and J. Q. Johnson at Cornell, | |
846 | and Chris Torek and James O'Toole at the University of Maryland | |
847 | to do the Xerox Network Systems implementation. | |
848 | Robert Elz at the University of Melbourne contributed greatly | |
849 | to the performance work in the kernel. | |
850 | Donn Seeley and Jay Lepreau at the University of Utah | |
e5872c1c | 851 | relentlessly dealt with a myriad of details; |
78d75eb3 KM |
852 | Donn completed the unfinished performance work on Fortran 77 |
853 | and fixed numerous C compiler bugs. | |
854 | Ralph Campbell handled innumerable questions and problem reports | |
855 | and had time left to write rdist. | |
856 | George Goble was invaluable in shaking out the bugs on his | |
857 | production systems long before we were confident enough to | |
858 | inflict it on our users. | |
859 | Bill Shannon at Sun Microsystems has been helpful in | |
860 | providing us with bug fixes and improvements. | |
861 | Tom Ferrin, in his capacity as Board Member of Usenix Association, | |
862 | handled the logistics of large-scale reproduction | |
863 | of the 4.2BSD and 4.3BSD manuals. | |
864 | Mark Seiden helped with the typesetting and indexing of the 4.3BSD manuals. | |
865 | Special mention goes to Bob Henry for keeping ucbvax running | |
866 | in spite of new and improved software and | |
867 | an ever increasing mail, news, and uucp load. | |
868 | .LP | |
869 | Numerous others contributed their time and energy in creating | |
870 | the user contributed software for the release. | |
871 | As always, we are grateful to the UNIX user community for | |
872 | encouragement and support. | |
873 | .LP | |
874 | Once again, the financial support of the Defense Advanced Research | |
875 | Projects Agency is gratefully acknowledged. | |
876 | .sp 1 | |
877 | .in 4i | |
878 | .nf | |
879 | M. K. McKusick | |
880 | M. J. Karels | |
881 | J. M. Bloom | |
882 | .fi | |
883 | .in 0 | |
884 | .sp 2 | |
885 | .ne 2i | |
886 | .ce | |
887 | \fIPreface to the 4.2 Berkeley distribution\fP | |
888 | .sp 1 | |
889 | This update to the 4.1 distribution of June 1981 provides support | |
890 | for the VAX 11/730, full networking and interprocess communication | |
891 | support, an entirely new file system, and many other new features. | |
892 | It is certainly the most ambitious release of software ever prepared | |
893 | here and represents many man-years of work. | |
894 | Bill Shannon (both at DEC and at Sun Microsystems) | |
895 | and Robert Elz of the University | |
896 | of Melbourne contributed greatly to this distribution | |
897 | through new device drivers and painful debugging episodes. | |
898 | Rob Gurwitz of BBN wrote the initial version of the code upon | |
899 | which the current networking support is based. | |
900 | Eric Allman of Britton-Lee donated countless hours to the mail system. | |
901 | Bill Croft (both at SRI and Sun Microsystems) aided in the | |
902 | debugging and development of the networking facilities. | |
903 | Dennis Ritchie of Bell Laboratories also | |
904 | contributed greatly to this distribution, providing | |
905 | valuable advise and guidance. Helge Skrivervik | |
906 | worked on the device drivers which enabled | |
907 | the distribution to be delivered with a TU58 | |
908 | console cassette and RX01 console flopppy disk, and | |
909 | rewrote major portions of the standalone i/o system | |
910 | to support formatting of non-DEC peripherals. | |
911 | .LP | |
912 | Numerous others contributed their time and energy in organizing | |
913 | the user software for release, while many groups of people on | |
914 | campus suffered patiently through the low spots of development. | |
915 | As always, we are grateful to the UNIX user community for | |
916 | encouragement and support. | |
917 | .LP | |
918 | Once again, the financial support of the Defense Advanced Research | |
919 | Projects Agency is gratefully acknowledged. | |
920 | .sp 1 | |
921 | .in 4i | |
922 | .nf | |
923 | S. J. Leffler | |
924 | W. N. Joy | |
925 | M. K. McKusick | |
926 | .fi | |
927 | .in 0 | |
928 | .sp 2 | |
929 | .ne 1i | |
930 | .ce | |
931 | \fIPreface to the 4.1 Berkeley distribution\fP | |
932 | .sp 1 | |
933 | This update to the fourth distribution of November 1980 provides | |
934 | support for the VAX 11/750 and for the full interconnect architecture | |
935 | of the VAX 11/780. Robert Elz of the University of Melbourne contributed | |
936 | greatly to this distribution especially in the boot-time system | |
937 | configuration code; Bill Shannon of DEC supplied us with the | |
938 | implementation of DEC standard bad block handling. The research | |
939 | group at Bell Laboratories and DEC Merrimack provided us with access | |
940 | to 11/750's in order to debug its support. | |
941 | .LP | |
942 | Other individuals too numerous to mention provided us with bug reports, | |
943 | fixes and other enhancements which are reflected in the system. We | |
944 | are grateful to the UNIX user community for encouragement and | |
945 | support. | |
946 | .LP | |
947 | The financial support of the Defence Advanced Research Projects Agency | |
948 | in support of this work is gratefully acknowledged. | |
949 | .sp 1 | |
950 | .in 4i | |
951 | .nf | |
952 | W. N. Joy | |
953 | R. S. Fabry | |
954 | K. Sklower | |
955 | .fi | |
956 | .in 0 | |
957 | .sp 2 | |
958 | .ne 1i | |
959 | .ce | |
960 | \fIPreface to the Fourth Berkeley distribution\fP | |
961 | .sp 1 | |
962 | This manual reflects the Berkeley system mid-October, 1980. | |
963 | A large amount of tuning has been done in the system since the last release; | |
964 | we hope this provides as noticeable an improvement for you as it did for us. | |
965 | This release finds the system in transition; a number of facilities | |
966 | have been added in experimental versions (job control, resource limits) | |
967 | and the implementation of others is imminent (shared-segments, higher | |
968 | performance from the file system, etc.). | |
969 | Applications which use facilities that are in transition should be aware | |
970 | that some of the system calls and library routines will change | |
971 | in the near future. We have tried to be conscientious and make it | |
972 | very clear where this is likely. | |
973 | .LP | |
974 | A new group has been formed | |
975 | at Berkeley, to assume responsibility for the future | |
976 | development and support of a version of UNIX on the VAX. | |
977 | The group has received funding from the | |
978 | Defense Advanced Research Projects Agency (DARPA) | |
979 | to supply a standard version of the system to DARPA contractors. | |
980 | The same version of the system will be made available to other licensees | |
981 | of UNIX on the VAX for a duplication charge. | |
982 | We gratefully acknowledge | |
983 | the support of this contract. | |
984 | .LP | |
985 | We wish to acknowledge the contribution of a number of individuals to | |
986 | the the system. | |
987 | .LP | |
988 | We would especially like to thank | |
989 | Jim Kulp of IIASA, | |
990 | Laxenburg Austria and his colleagues, | |
991 | who first put job control facilities into UNIX; | |
992 | Eric Allman, Robert Henry, Peter Kessler and Kirk McKusick, who | |
993 | contributed major new pieces of software; | |
994 | Mark Horton, who contributed to the improvement of facilities and | |
995 | substantially improved the quality of our bit-mapped fonts, | |
996 | our hardware support staff: | |
997 | Bob Kridle, | |
998 | Anita Hirsch, | |
999 | Len Edmondson | |
1000 | and | |
1001 | Fred Archibald, | |
1002 | who helped us to debug a number of new peripherals; | |
1003 | Ken Arnold who did much of the leg-work in getting this version of the | |
1004 | manual prepared, and did the final editing of sections 2-6, | |
1005 | some special individuals within Bell Laboratories: | |
1006 | Greg Chesson, | |
1007 | Stuart Feldman, | |
1008 | Dick Haight, | |
1009 | Howard Katseff, | |
1010 | Brian Kernighan, | |
1011 | Tom London, | |
1012 | John Reiser, | |
1013 | Dennis Ritchie, | |
1014 | Ken Thompson, | |
1015 | and | |
1016 | Peter Weinberger | |
1017 | who helped out by answering questions; | |
1018 | our excellent local DEC field service people, | |
1019 | Kevin Althaus and Frank Chargois | |
1020 | who kept our machine running virtually all the time, and fixed it quickly | |
1021 | when things broke; | |
1022 | and, | |
1023 | Mike Accetta of Carnegie-Mellon University, | |
1024 | Robert Elz of the University of Melbourne, | |
1025 | George Goble of Purdue University, | |
1026 | and | |
1027 | David Kashtan of the Stanford Research Institute | |
1028 | for their technical advice and support. | |
1029 | .LP | |
1030 | Special thanks to Bill Munson of DEC who helped by augmenting | |
1031 | our computing facility | |
1032 | and to Eric Allman for carefully proofreading the | |
1033 | ``last'' draft of the manual and finding the bugs which we knew were | |
1034 | there but couldn't see. | |
1035 | .LP | |
1036 | We dedicate this to the memory of David Sakrison, late chairman of our | |
1037 | department, who gave his support to the establishment of our VAX | |
1038 | computing facility, and to our department as a whole. | |
1039 | .sp 1 | |
1040 | .in 4i | |
1041 | .nf | |
1042 | W. N. Joy | |
1043 | \v'-3p'\h'2p'\*:\v'3p'\h'-2p'O. Babao\*~glu | |
1044 | R. S. Fabry | |
1045 | K. Sklower | |
1046 | .fi | |
1047 | .in 0 | |
1048 | .sp 2 | |
1049 | .ne 1i | |
1050 | .ce | |
1051 | \fIPreface to the Third Berkeley distribution\fP | |
1052 | .sp 1 | |
1053 | This manual reflects the state of the Berkeley system, December 1979. | |
1054 | We would like to thank all the people at Berkeley who have contributed to | |
1055 | the system, and particularly thank | |
1056 | Prof. Richard Fateman for creating and administrating a hospitable environment, | |
1057 | Mark Horton who helped prepare this manual, and | |
1058 | Eric Allman, Bob Kridle, Juan Porcar | |
1059 | and Richard Tuck for their contributions to the kernel. | |
1060 | .LP | |
1061 | The cooperation of Bell Laboratories in providing us with an early version of | |
1062 | \s-2UNIX\s0/32V is greatly appreciated. We would especially like to thank | |
1063 | Dr. Charles Roberts of Bell Laboratories for helping us obtain this release, | |
1064 | and acknowledge | |
1065 | T. B. London, | |
1066 | J. F. Reiser, | |
1067 | K. Thompson, | |
1068 | D. M. Ritchie, | |
1069 | G. Chesson and | |
1070 | H. P. Katseff | |
1071 | for their advice and support. | |
1072 | .sp 1 | |
1073 | .in 4i | |
1074 | W. N. Joy | |
1075 | .br | |
1076 | \v'-3p'\h'2p'\*:\v'3p'\h'-2p'O. Babao\*~glu | |
1077 | .in 0 | |
1078 | .sp 2 | |
1079 | .ne 1i | |
1080 | .ce | |
1081 | \fIPreface to the UNIX/32V distribution\fP | |
1082 | .sp 1 | |
1083 | The | |
1084 | .UX | |
1085 | operating system for the VAX*-11 | |
1086 | .FS | |
1087 | *VAX and PDP are Trademarks of Digital Equipment Corporation. | |
1088 | .FE | |
1089 | provides substantially the same facilities as the | |
1090 | \s-2UNIX\s0 | |
1091 | system for the PDP*-11. | |
1092 | .LP | |
1093 | We acknowledge the work of many who came before us, and particularly thank | |
1094 | G. K. Swanson, W. M. Cardoza, D. K. Sharma, and J. F. Jarvis for assistance | |
1095 | with the implementation for the VAX-11/780. | |
1096 | .sp 1 | |
1097 | .in 4i | |
1098 | T. B. London | |
1099 | .br | |
1100 | J. F. Reiser | |
1101 | .in 0 | |
1102 | .sp 2 | |
1103 | .ne 1i | |
1104 | .ce | |
1105 | \fIPreface to the Seventh Edition\fP | |
1106 | .sp 1 | |
1107 | .LP | |
1108 | Although this Seventh Edition no longer bears their byline, | |
1109 | Ken Thompson and Dennis Ritchie remain the fathers | |
1110 | and preceptors of the | |
1111 | \s-2UNIX\s0 | |
1112 | time-sharing system. | |
1113 | Many of the improvements here described bear their mark. | |
1114 | Among many, many other people who have contributed to | |
1115 | the further flowering of | |
1116 | \s-2UNIX\s0, | |
1117 | we wish especially to | |
1118 | acknowledge the contributions of | |
1119 | A. V. Aho, | |
1120 | S. R. Bourne, | |
1121 | L. L. Cherry, | |
1122 | G. L. Chesson, | |
1123 | S. I. Feldman, | |
1124 | C. B. Haley, | |
1125 | R. C. Haight, | |
1126 | S. C. Johnson, | |
1127 | M. E. Lesk, | |
1128 | T. L. Lyon, | |
1129 | L. E. McMahon, | |
1130 | R. Morris, | |
1131 | R. Muha, | |
1132 | D. A. Nowitz, | |
1133 | L. Wehr, | |
1134 | and | |
1135 | P. J. Weinberger. | |
1136 | We appreciate also | |
1137 | the effective advice and criticism of | |
1138 | T. A. Dolotta, | |
1139 | A. G. Fraser, | |
1140 | J. F. Maranzano, | |
1141 | and | |
1142 | J. R. Mashey; | |
1143 | and we remember the important work of | |
1144 | the late Joseph F. Ossanna. | |
1145 | .sp 1 | |
1146 | .in 4i | |
1147 | B. W. Kernighan | |
1148 | .br | |
1149 | M. D. McIlroy | |
1150 | .in 0 | |
1151 | .if o .bp | |
1152 | \& | |
1153 | .bp | |
1154 | .de IR | |
1155 | \fI\\$1\^\fR\\$2 | |
1156 | .. | |
1157 | .de RI | |
1158 | \fR\\$1\fI\\$2\^\fR\\$3 | |
1159 | .. | |
1160 | .ce | |
1161 | \fB\s+4INTRODUCTION\s-4\fP | |
1162 | .sp 1 | |
1163 | .nr PS 10 | |
1164 | .nr VS 12 | |
1165 | .LP | |
1166 | The documentation for 4.4BSD is in a format similar | |
1167 | to the one used for the 4.2BSD and 4.3BSD manuals. | |
1168 | It is divided into three sets; each set consists of one or more volumes. | |
1169 | The abbreviations for the volume names are listed in square brackets; | |
1170 | the abbreviations for the manual sections are listed in parenthesis. | |
1171 | .DS | |
1172 | I. User's Documents | |
1173 | User's Reference Manual [URM] | |
1174 | Commands (1) | |
1175 | Games (6) | |
1176 | Macro packages and language conventions (7) | |
1177 | User's Supplementary Documents [USD] | |
1178 | Getting Started | |
1179 | Basic Utilities | |
1180 | Communicating with the World | |
1181 | Text Editing | |
1182 | Document Preparation | |
1183 | Amusements | |
1184 | ||
1185 | II. Programmer's Documents | |
1186 | Programmer's Reference Manual [PRM] | |
1187 | System calls (2) | |
1188 | Subroutines (3) | |
1189 | Special files (4) | |
1190 | File formats and conventions (5) | |
1191 | Programmer's Supplementary Documents [PSD] | |
1192 | Documents of Historic Interest | |
1193 | Languages in common use | |
1194 | Programming Tools | |
1195 | Programming Libraries | |
1196 | General Reference | |
1197 | ||
1198 | III. System Manager's Manual [SMM] | |
1199 | Maintenance commands (8) | |
1200 | System Installation and Administration | |
1201 | .DE | |
1202 | .LP | |
1203 | References to individual documents are given as ``volume:document'', | |
1204 | thus USD:1 refers to the first document in the ``User's Supplementary | |
1205 | Documents''. | |
1206 | References to manual pages are given as ``\fIname\fP(section)'' thus | |
1207 | .IR sh (1) | |
1208 | refers to the shell manual entry in section 1. | |
1209 | .LP | |
1210 | The manual pages give descriptions of the features of the | |
1211 | 4.4BSD system, as developed at the University of California at Berkeley. | |
1212 | They do not attempt to provide perspective or tutorial information about the | |
1213 | 4.4BSD operating system, its facilities, or its implementation. | |
1214 | Various documents on those topics are contained in the | |
1215 | ``\s-1UNIX\s+1 User's Supplementary Documents'' (USD), the | |
1216 | ``\s-1UNIX\s+1 Programmer's Supplementary Documents'' (PSD), | |
1217 | and ``\s-1UNIX\s+1 System Manager's Manual'' (SMM). | |
1218 | In particular, for an overview see ``The \s-1UNIX\s+1 Time-Sharing System'' (PSD:1) | |
1219 | by Ritchie and Thompson; for a tutorial see | |
1220 | ``\s8\s-1UNIX\s+1\s10 for Beginners'' (USD:1) by Kernighan, | |
1221 | and for an guide to the new features of this latest version, see | |
1222 | ``Berkeley Software Architecture Manual (4.4 Edition)'' (PSD:5). | |
1223 | .LP | |
1224 | Within the area it surveys, this volume attempts to be timely, complete | |
1225 | and concise. Where the latter two objectives conflict, | |
1226 | the obvious is often left unsaid in favor of brevity. | |
1227 | It is intended that each program be described as it is, not as it should be. | |
1228 | Inevitably, this means that various sections will soon be out of date. | |
1229 | .LP | |
1230 | Commands are programs intended to be invoked directly by | |
1231 | the user, in contrast to subroutines, that are | |
1232 | intended to be called by the user's programs. | |
1233 | User commands are described in URM section 1. | |
1234 | Commands generally reside in directory | |
1235 | .I /bin | |
1236 | (for | |
1237 | .IR bin \|ary | |
1238 | programs). | |
1239 | Some programs also reside in | |
1240 | .I | |
1241 | /\|usr/\|bin, | |
1242 | .R | |
1243 | to save space in | |
1244 | .I /\|bin. | |
1245 | .R | |
1246 | These directories are searched automatically by the command interpreters. | |
1247 | Additional directories that may be of interest include | |
1248 | .I | |
1249 | /\|usr/\|contrib/\|bin, | |
1250 | .R | |
1251 | which has contributed software | |
1252 | .I | |
1253 | /\|usr/\|old/\|bin, | |
1254 | .R | |
1255 | which has old but sometimes still useful software and | |
1256 | .I | |
1257 | /\|usr/\|local/\|bin, | |
1258 | .R | |
1259 | which contains software local to your site. | |
1260 | .LP | |
1261 | Games have been relegated to URM section 6 and | |
1262 | .I | |
1263 | /\|usr/\|games, | |
1264 | .R | |
1265 | to keep them from contaminating | |
1266 | the more staid information of URM section 1. | |
1267 | .LP | |
1268 | Miscellaneous collection of information necessary for | |
1269 | writing in various specialized languages such as character codes, | |
1270 | macro packages for typesetting, etc is contained in URM section 7. | |
1271 | .LP | |
1272 | System calls are entries into the BSD kernel. | |
1273 | The system call interface is identical to a C language | |
1274 | procedure call; the equivalent C procedures are described in PRM section 2. | |
1275 | .LP | |
1276 | An assortment of subroutines is available; | |
1277 | they are described in PRM section 3. | |
1278 | The primary libraries in which they are kept are described in | |
1279 | .IR intro (3). | |
1280 | The functions are described in terms of C. | |
1281 | .LP | |
1282 | PRM section 4 discusses the characteristics of | |
1283 | each system ``file'' that refers to an I/O device. | |
1284 | The names in this section refer to the HP300 device names for the hardware, | |
1285 | instead of the names of the special files themselves. | |
1286 | .LP | |
1287 | The file formats and conventions (PRM section 5) | |
1288 | documents the structure of particular kinds of files; | |
1289 | for example, the form of the output of the loader and | |
1290 | assembler is given. Excluded are files used by only one command, | |
1291 | for example the assembler's intermediate files. | |
1292 | .LP | |
1293 | Commands and procedures intended for use primarily by the | |
1294 | system administrator are described in SMM section 8. | |
1295 | The files described here are almost all kept in the directory | |
1296 | .I /\|etc. | |
1297 | The system administration binaries reside in | |
1298 | .I | |
1299 | /\|sbin, | |
1300 | .R | |
1301 | and | |
1302 | .I | |
1303 | /\|usr/\|sbin. | |
1304 | .LP | |
1305 | Each section consists of independent entries of a page or so each. | |
1306 | The name of the entry is in the upper corners of its pages, | |
1307 | together with the section number. | |
1308 | Entries within each section are alphabetized. | |
1309 | The page numbers of each entry start at 1; | |
1310 | it is infeasible to number consecutively the pages of | |
1311 | a document like this that is republished in many variant forms. | |
1312 | .LP | |
1313 | All entries are based on a common format; | |
1314 | not all subsections always appear. | |
1315 | .RS | |
1316 | .LP | |
1317 | The | |
1318 | .I name | |
1319 | subsection lists the exact names of the commands and subroutines | |
1320 | covered under the entry and gives a short description of their purpose. | |
1321 | .LP | |
1322 | The | |
1323 | .IR synopsis "" | |
1324 | summarizes the use of the program being described. | |
1325 | A few conventions are used, particularly in the Commands subsection: | |
1326 | .LP | |
1327 | .RS | |
1328 | .B Boldface | |
1329 | words are considered literals, and are typed just as they appear. | |
1330 | .LP | |
1331 | Square brackets [ ] around an argument show that the argument is optional. | |
1332 | When an argument is given as ``name'', it always refers to a file name. | |
1333 | .LP | |
1334 | Ellipses ``.\|.\|.'' are used to show that the previous argument-prototype | |
1335 | may be repeated. | |
1336 | .LP | |
1337 | A final convention is used by the commands themselves. | |
1338 | An argument beginning with a minus sign ``\-'' usually means that it is an | |
1339 | option-specifying argument, even if it appears in a position where | |
1340 | a file name could appear. Therefore, it is unwise to have files whose | |
1341 | names begin with ``\-''. | |
1342 | .LP | |
1343 | .RE | |
1344 | The | |
1345 | .IR description "" | |
1346 | subsection discusses in detail the subject at hand. | |
1347 | .LP | |
1348 | The | |
1349 | .IR files "" | |
1350 | subsection gives the names of files that are built into the program. | |
1351 | .LP | |
1352 | A | |
1353 | .I | |
1354 | see also | |
1355 | .R | |
1356 | subsection gives pointers to related information. | |
1357 | .LP | |
1358 | A | |
1359 | .I diagnostics | |
1360 | subsection discusses the diagnostic indications that may be produced. | |
1361 | Messages that are intended to be self-explanatory are not listed. | |
1362 | .LP | |
1363 | The | |
1364 | .IR bugs "" | |
1365 | subsection gives known bugs and sometimes deficiencies. | |
1366 | Occasionally the suggested fix is also described. | |
1367 | .LP | |
1368 | .RE | |
1369 | At the beginning of URM is a table of contents, | |
1370 | organized by section and alphabetically within each section. | |
1371 | There is also a permuted index derived from the table of contents. | |
1372 | Within each index entry, the title of the writeup to which | |
1373 | it refers is followed by the appropriate section number in parentheses. | |
1374 | This fact is important because there is considerable | |
1375 | name duplication among the sections, arising principally from commands that | |
1376 | exist only to exercise a particular system call. | |
1377 | Finally, there is a list of documents on the inside back cover of each volume. | |
1378 | .SH | |
1379 | HOW TO GET STARTED | |
1380 | .LP | |
1381 | This section sketches the basic information you need to get started on \s-1UNIX\s+1; | |
1382 | how to log in and log out, how to communicate through your terminal, | |
1383 | and how to run a program. | |
1384 | See ``\s-1UNIX\s+1 for Beginners'' in (USD:1) for a | |
1385 | more complete introduction to the system. | |
1386 | .LP | |
1387 | .I | |
1388 | Logging in.\ \ | |
1389 | .R | |
1390 | Almost any ASCII terminal capable of | |
1391 | full duplex operation and generating | |
1392 | the entire character set can be used. | |
1393 | You must have a valid user name, | |
1394 | which may be obtained from the system administration. | |
1395 | If you will be accessing \s-1UNIX\s+1 remotely, you will also | |
1396 | need to obtain the telephone number for the system that you will be using. | |
1397 | .LP | |
1398 | After a data connection is established, | |
1399 | the login procedure depends on what type of terminal you are using | |
1400 | and local system conventions. | |
1401 | If your terminal is directly connected to the computer, | |
1402 | it generally runs at 9600 or 19200 baud. | |
1403 | If you are using a modem running over a phone line, | |
1404 | the terminal must be set at the speed appropriate for the modem you are using, | |
1405 | typically 1200, 2400, or 9600 baud. | |
1406 | The half/full duplex switch should always be set at full-duplex. | |
1407 | (This switch will often have to be changed | |
1408 | since many other systems require half-duplex). | |
1409 | .LP | |
1410 | When a connection is established, the system types ``login:''; | |
1411 | you type your user name, followed by the ``return'' key. | |
1412 | If you have a password, the system asks for it | |
1413 | and suppresses echo to the terminal so the password will not appear. | |
1414 | After you have logged in, the ``return'', ``new line'', or ``linefeed'' keys | |
1415 | will give exactly the same results. | |
1416 | A message-of-the-day usually greets you before your first prompt. | |
1417 | .LP | |
1418 | If the system types out a few garbage characters | |
1419 | after you have established a data connection | |
1420 | (the ``login:'' message at the wrong speed), | |
1421 | depress the ``break'' (or ``interrupt'') key. | |
1422 | This is a speed-independent signal to \s-1UNIX\s+1 | |
1423 | that a different speed terminal is in use. | |
1424 | The system then will type ``login:,'' this time at another speed. | |
1425 | Continue depressing the break key until ``login:'' appears clearly, | |
1426 | then respond with your user name. | |
1427 | .LP | |
1428 | For all these terminals, it is important | |
1429 | that you type your name in lower-case if possible; if you type | |
1430 | upper-case letters, | |
1431 | \s-1UNIX\s+1 will assume that your terminal cannot generate lower-case | |
1432 | letters and will translate all subsequent lower-case letters to upper case. | |
1433 | .LP | |
1434 | The evidence that you have successfully logged in is that a shell program | |
1435 | will type a prompt (``$'' or ``%'') to you. | |
1436 | (The shells are described below under ``How to run a program.'') | |
1437 | .LP | |
1438 | For more information, consult | |
1439 | .IR tset (1), | |
1440 | and | |
1441 | .IR stty (1), | |
1442 | which tell how to adjust terminal behavior; | |
1443 | .IR getty (8) | |
1444 | discusses the login sequence in more detail, and | |
1445 | .IR tty (4) | |
1446 | discusses terminal I/O. | |
1447 | .LP | |
1448 | .I | |
1449 | Logging out.\ \ | |
1450 | .R | |
1451 | There are three ways to log out: | |
1452 | .IP | |
1453 | By typing ``logout'' or an end-of-file | |
1454 | indication (EOT character, control-D) to the shell. | |
1455 | The shell will terminate and the ``login:'' message will appear again. | |
1456 | .IP | |
1457 | You can log in directly as another user by giving a | |
1458 | .IR login (1) | |
1459 | command. | |
1460 | .IP | |
1461 | If worse comes to worse, | |
1462 | you can simply hang up the phone; but beware \- some machines may | |
1463 | lack the necessary hardware to detect that the phone has been hung up. | |
1464 | Ask your system administrator if this is a problem on your machine. | |
1465 | .LP | |
1466 | .I | |
1467 | How to communicate through your terminal.\ \ | |
1468 | .R | |
1469 | When you type characters, a gnome deep in the system | |
1470 | gathers your characters and saves them in a secret place. | |
1471 | The characters will not be given to a program | |
1472 | until you type a return (or newline), as described above in | |
1473 | .I | |
1474 | Logging in. | |
1475 | .R | |
1476 | .LP | |
1477 | \s-1UNIX\s+1 terminal I/O is full-duplex. | |
1478 | It has full read-ahead, which means that you can type at any time, | |
1479 | even while a program is typing at you. | |
1480 | Of course, if you type during output, the printed output will | |
1481 | have the input characters interspersed. | |
1482 | However, whatever you type will be saved up and interpreted in correct sequence. | |
1483 | There is a limit to the amount of read-ahead, | |
1484 | but it is generous and not likely to be exceeded unless | |
1485 | the system is in trouble. | |
1486 | When the read-ahead limit is exceeded, the system | |
1487 | throws away all the saved characters (or beeps, if your prompt was a ``%''). | |
1488 | .LP | |
1489 | The ^U (control-U) character in typed input kills all the | |
1490 | preceding characters in the line, | |
1491 | so typing mistakes can be repaired on a single line. | |
1492 | Also, the delete character (DEL) or sometimes the | |
1493 | backspace character (control-H) erases the last character typed. | |
1494 | .IR Tset (1) | |
1495 | or | |
1496 | .IR stty (1) | |
1497 | can be used to change these defaults. | |
1498 | Successive uses of delete (or backspace) erases characters back to, but | |
1499 | not beyond, the beginning of the line. | |
1500 | DEL and ^U (control-U) can be transmitted to a program by preceding them with | |
1501 | ^V (control-V). | |
1502 | (So, to erase ^V (control-V), you need two deletes or backspaces). | |
1503 | .LP | |
1504 | An | |
1505 | .I | |
1506 | interrupt signal | |
1507 | .R | |
1508 | is sent to a program by typing ^C (control-C) or the ``break'' key | |
1509 | which is not passed to programs. | |
1510 | This signal generally causes whatever program you are running to terminate. | |
1511 | It is typically used to stop a long printout that you do not want. | |
1512 | However, programs can arrange either to ignore this signal altogether, | |
1513 | or to be notified when it happens (instead of being terminated). | |
1514 | The editor, for example, catches interrupts and stops what it is doing, | |
1515 | instead of terminating, so that an interrupt can | |
1516 | be used to halt an editor printout without losing the file being edited. | |
1517 | The interrupt character can also be changed with | |
1518 | .IR tset (1) | |
1519 | or | |
1520 | .IR stty (1). | |
1521 | .LP | |
1522 | It is also possible to suspend output temporarily using ^S (control-S) | |
1523 | and later resume output with ^Q (control-Q). | |
1524 | Output can be thrown away without interrupting | |
1525 | the program by typing ^O (control-O); see | |
1526 | .IR tty (4). | |
1527 | .LP | |
1528 | The | |
1529 | .IR quit "" | |
1530 | signal is generated by typing the \s8ASCII\s10 FS character. | |
1531 | (FS appears many places on different terminals, most commonly | |
1532 | as control-\e or control-\^|\^.) | |
1533 | It not only causes a running program to terminate | |
1534 | but also generates a file with the core image of the terminated process. | |
1535 | Quit is useful for debugging. | |
1536 | .LP | |
1537 | Besides adapting to the speed of the terminal, | |
1538 | \s-1UNIX\s+1 tries to be intelligent about whether | |
1539 | you have a terminal with the newline function | |
1540 | or whether it must be simulated with carriage-return and line-feed. | |
1541 | In the latter case, all input carriage returns | |
1542 | are turned to newline characters (the standard line delimiter) | |
1543 | and both a carriage return and a line feed are echoed to the terminal. | |
1544 | If you get into the wrong mode, the | |
1545 | .IR reset (1) | |
1546 | command will rescue you. | |
1547 | If the terminal does not appear to be echoing anything that you type, | |
1548 | it may be stuck in ``no-echo'' or ``raw'' mode. | |
1549 | Try typing ``(control-J)reset(control-J)'' to recover. | |
1550 | .LP | |
1551 | Tab characters are used freely in \s-1UNIX\s+1 source programs. | |
1552 | If your terminal does not have the tab function, | |
1553 | you can arrange to have them turned into spaces | |
1554 | during output, and echoed as spaces during input. | |
1555 | The system assumes that tabs are set every eight columns. | |
1556 | Again, the | |
1557 | .IR tset (1) | |
1558 | or | |
1559 | .IR stty (1) | |
1560 | command can be used to change these defaults. | |
1561 | .IR Tset (1) | |
1562 | can be used to set the tab stops automatically when necessary. | |
1563 | .LP | |
1564 | .I | |
1565 | How to run a program; the shells.\ \ | |
1566 | .R | |
1567 | When you have successfully logged in, a program | |
1568 | called a shell is listening to your terminal. | |
1569 | The shell reads typed-in lines, splits them up | |
1570 | into a command name and arguments, and executes the command. | |
1571 | A command is simply an executable program. | |
1572 | The shell looks in several system directories to find the command. | |
1573 | You can also place commands in your own directory and | |
1574 | have the shell find them there. | |
1575 | There is nothing special about system-provided | |
1576 | commands except that they are kept in a directory where the shell can find them. | |
1577 | .LP | |
1578 | The command name is always the first word on an input line; | |
1579 | it and its arguments are separated from one another by spaces. | |
1580 | .LP | |
1581 | When a program terminates, the shell will ordinarily regain control and type | |
1582 | a prompt at you to show that it is ready for another command. | |
1583 | .LP | |
1584 | The shells have many other capabilities, that are described in detail in | |
1585 | sections | |
1586 | .IR sh (1) | |
1587 | and | |
1588 | .IR csh (1). | |
1589 | If the shell prompts you with ``$'', then it is an instance of | |
1590 | .IR sh (1), | |
1591 | the original \s-1UNIX\s+1 shell. | |
1592 | If it prompts with ``%'' then it is an instance of | |
1593 | .IR csh (1), | |
1594 | a shell written at Berkeley. | |
1595 | The shells are different for all but the most simple terminal usage. | |
1596 | Most users at Berkeley choose | |
1597 | .IR csh (1) | |
1598 | because of the | |
1599 | .I history | |
1600 | mechanism and the | |
1601 | .I alias | |
1602 | feature, that greatly enhance its power when used interactively. | |
1603 | .I Csh | |
1604 | also supports the job-control facilities; | |
1605 | see | |
1606 | .IR csh (1) | |
1607 | or the Csh introduction in USD:4 for details. | |
1608 | .LP | |
1609 | You can change from one shell to the other by using the | |
1610 | .I chpass (1) | |
1611 | command, which takes effect at your next login. | |
1612 | .LP | |
1613 | .I | |
1614 | The current directory.\ \ | |
1615 | .R | |
1616 | \s-1UNIX\s+1 has a file system arranged as a hierarchy of directories. | |
1617 | When the system administrator gave you a user name, | |
1618 | they also created a directory for you (ordinarily | |
1619 | with the same name as your user name). | |
1620 | When you log in, any file name you type is by default in this directory. | |
1621 | Since you are the owner of this directory, you have | |
1622 | full permission to read, write, alter, or destroy its contents. | |
1623 | Permissions to have your will with other directories | |
1624 | and files will have been granted or denied to you by their owners. | |
1625 | As a matter of observed fact, few \s-1UNIX\s+1 | |
1626 | users protect their files from perusal by other users. | |
1627 | .LP | |
1628 | To change the current directory (but not the set of permissions you | |
1629 | were endowed with at login) use | |
1630 | .IR cd (1). | |
1631 | .LP | |
1632 | .I | |
1633 | Path names.\ \ | |
1634 | .R | |
1635 | To refer to files not in the current directory, you must use a path name. | |
1636 | Full path names begin with ``/\|'', the name of the root directory of the | |
1637 | whole file system. | |
1638 | After the slash comes the name of each directory containing the next | |
1639 | sub-directory (followed by a ``/\|'') until finally the file name is reached. | |
1640 | For example, | |
1641 | .I | |
1642 | /\^var/\^tmp/\^filex | |
1643 | .R | |
1644 | refers to the file | |
1645 | .I | |
1646 | filex | |
1647 | .R | |
1648 | in the directory | |
1649 | .I | |
1650 | tmp; tmp | |
1651 | .R | |
1652 | is itself a subdirectory of | |
1653 | .I | |
1654 | var; var | |
1655 | .R | |
1656 | springs directly from the root directory. | |
1657 | .LP | |
1658 | If your current directory has subdirectories, | |
1659 | the path names of files therein begin with | |
1660 | the name of the subdirectory with no prefixed ``/\|''. | |
1661 | .LP | |
1662 | A path name may be used anywhere a file name is required. | |
1663 | .LP | |
1664 | Important commands that modify the contents of files are | |
1665 | .IR cp (1), | |
1666 | .IR mv (1), | |
1667 | and | |
1668 | .IR rm (1), | |
1669 | which respectively copy, move (i.e. rename) and remove files. | |
1670 | To find out the status of files or directories, use | |
1671 | .IR ls (1). | |
1672 | See | |
1673 | .IR mkdir (1) | |
1674 | for making directories and | |
1675 | .IR rmdir (1) | |
1676 | for destroying them. | |
1677 | .LP | |
1678 | For a fuller discussion of the file system, see | |
1679 | ``A Fast File System for \s-1UNIX\s+1'' (SMM:5) | |
1680 | by McKusick, Joy, Leffler, and Fabry. | |
1681 | It may also be useful to glance through PRM section 2, | |
1682 | that discusses system calls, even if you do not intend | |
1683 | to deal with the system at that level. | |
1684 | .LP | |
1685 | .I | |
1686 | Writing a program.\ \ | |
1687 | .R | |
1688 | To enter the text of a source program into a \s-1UNIX\s+1 file, | |
1689 | use the standard display editor | |
1690 | .IR vi (1) | |
1691 | or its \s-1WYSIWYG\s+1 counterparts | |
1692 | .IR jove (1) | |
1693 | and | |
1694 | .IR emacs (1). | |
1695 | (The old standard editor | |
1696 | .IR ed (1) | |
1697 | is also available.) | |
1698 | The principle language in \s-1UNIX\s+1 is provided by the C compiler | |
1699 | .IR cc (1). | |
1700 | User contributed software in the latest | |
1701 | release of the system supports the programming languages perl and C++. | |
1702 | After the program text has been entered through the editor | |
1703 | and written to a file, you can give the file | |
1704 | to the appropriate language processor as an argument. | |
1705 | The output of the language processor | |
1706 | will be left on a file in the current directory named ``a.out''. | |
1707 | If the output is precious, use | |
1708 | .IR mv (1) | |
1709 | to move it to a less exposed name after successful compilation. | |
1710 | .LP | |
1711 | When you have finally gone through this entire process | |
1712 | without provoking any diagnostics, the resulting program | |
1713 | can be run by giving its name to the shell | |
1714 | in response to the shell (``$'' or ``%'') prompt. | |
1715 | .LP | |
1716 | Your programs can receive arguments from the command line | |
1717 | just as system programs do, | |
1718 | see ``\s-1UNIX\s+1 Programming - Second Edition'' (PSD:4), | |
1719 | or for a more terse description | |
1720 | .IR execve (2). | |
1721 | .LP | |
1722 | .I | |
1723 | Text processing.\ \ | |
1724 | .R | |
1725 | Almost all text is entered through an editor such as | |
1726 | .IR vi (1), | |
1727 | .IR jove (1), | |
1728 | or | |
1729 | .IR emacs (1). | |
1730 | The commands most often used to write text on a terminal are: | |
1731 | .IR cat (1), | |
1732 | .IR more (1), | |
1733 | and | |
1734 | .IR nroff (1). | |
1735 | .LP | |
1736 | The | |
1737 | .IR cat (1) | |
1738 | command simply dumps \s8ASCII\s10 text | |
1739 | on the terminal, with no processing at all. | |
1740 | .IR More (1) | |
1741 | is useful for preventing the output of a command from | |
1742 | scrolling off the top of your screen. | |
1743 | It is also well suited to perusing files. | |
1744 | .IR Nroff (1) | |
1745 | is an elaborate text formatting program. | |
1746 | Used naked, it requires careful forethought, but for | |
1747 | ordinary documents it has been tamed; see | |
1748 | .IR me (7) | |
1749 | and | |
1750 | .IR ms (7). | |
1751 | .LP | |
1752 | .IR Groff (1) | |
1753 | converts documents to postscript for output to a | |
1754 | Laserwriter or Phototypesetter. | |
1755 | It is similar to | |
1756 | .IR nroff (1), | |
1757 | and often works from exactly the same source text. | |
1758 | It was used to produce this manual. | |
1759 | .LP | |
1760 | .IR Script (1) | |
1761 | lets you keep a record of your session in a file, | |
1762 | which can then be printed, mailed, etc. | |
1763 | It provides the advantages of a hard-copy terminal | |
1764 | even when using a display terminal. | |
1765 | .LP | |
1766 | .I | |
1767 | Status inquiries.\ \ | |
1768 | .R | |
1769 | Various commands exist to provide you with useful information. | |
1770 | .IR w (1) | |
1771 | prints a list of users currently logged in, and what they are doing. | |
1772 | .IR date (1) | |
1773 | prints the current time and date. | |
1774 | .IR ls (1) | |
1775 | will list the files in your directory or give | |
1776 | summary information about particular files. | |
1777 | .LP | |
1778 | .I | |
1779 | Surprises.\ \ | |
1780 | .R | |
1781 | Certain commands provide inter-user communication. | |
1782 | Even if you do not plan to use them, it would be | |
1783 | well to learn something about them, because someone else may aim them at you. | |
1784 | .LP | |
1785 | To communicate with another user currently logged in, | |
1786 | .IR write (1) | |
1787 | or | |
1788 | .IR talk (1) | |
1789 | is used; | |
1790 | .IR mail (1) | |
1791 | will leave a message whose presence will be announced | |
1792 | to another user when they next log in. | |
1793 | The write-ups in the manual also suggest how to respond to | |
1794 | the these commands if you are a target. | |
1795 | .LP | |
1796 | If you use | |
1797 | .IR csh (1) | |
1798 | the key ^Z (control-Z) will cause jobs to ``stop''. | |
1799 | If this happens before you learn about it, | |
1800 | you can simply continue by saying ``fg'' (for foreground) to bring | |
1801 | the job back. | |
1802 | .LP | |
1803 | We hope that you will come to enjoy using the BSD system. | |
1804 | Although it is very large and contains many commands, | |
1805 | you can become very productive using only a small subset of them. | |
1806 | As your needs expand to doing new tasks, | |
1807 | you will almost always find that the system has the facilities | |
1808 | that you need to accomplish them easily and quickly. | |
1809 | .LP | |
1810 | Most importantly, the source code to the BSD system | |
1811 | is cheaply available to anyone that wants it. | |
1812 | On many BSD systems, it can be found in the directory | |
1813 | .IR /\|usr/\|src . | |
1814 | You may simply want to find out how something works | |
1815 | or fix some important bug without waiting months for | |
1816 | your vendor to respond. | |
1817 | It is also particularly useful if you | |
1818 | want to grab another piece of code to bootstrap a new project. | |
1819 | Provided that you retain the copyrights and acknowledgements | |
1820 | at the top of each file, you are free to redistribute your | |
1821 | work for fun or profit. | |
1822 | Naturally, we hope that you will allow others to also redistribute | |
1823 | your code, though you are not required to do so unless you | |
1824 | use copyleft code (which is primarily found in the software | |
1825 | contributed from the Free Software Foundation and is | |
1826 | clearly identified). | |
1827 | .LP | |
1828 | Good luck and enjoy BSD. | |
1829 | .OH '''\s10- % -\s0' | |
1830 | .EH '\s10- % -\s0''' | |
1831 | .if o .bp | |
1832 | \& | |
1833 | .bp | |
1834 | .EF '\s9\\\\*(Dt''\\\\*(Ed\s0' | |
1835 | .OF '\s9\\\\*(Ed''\\\\*(Dt\s0' | |
1836 | .ce | |
1837 | \s+4\fBLIST \|OF \|MANUAL \|PAGES\fP\s-4 | |
1838 | .nr x 0.5 | |
1839 | .in +\nxi | |
1840 | .nf | |
1841 | .ta \n(.lu-\nxuR | |
1842 | .de xx | |
1843 | \\$1\f3 \a \fP\\$2 | |
1844 | .. | |
1845 | .de t | |
1846 | .sp 1v | |
1847 | .ne .5i | |
1848 | .cs 3 | |
1849 | .ti -\\nxi | |
1850 | .ss 18 | |
1851 | \f3\s9\\$2. \\$3\s0\fP | |
1852 | .ss 12 | |
1853 | .if t .sp .5v | |
1854 | .cs 3 36 | |
1855 | .ds Ed Section \\$2 | |
1856 | .ds Dt \\$3 | |
1857 | .so \\$1 | |
1858 | .. | |
1859 | .t toc1 1 "Commands and Application Programs" | |
1860 | .t toc2 2 "System Calls" | |
1861 | .t toc3 3 "C Library Subroutines" | |
1862 | .t toc4 4 "Special Files" | |
1863 | .t toc5 5 "File Formats" | |
1864 | .t toc6 6 "Games" | |
1865 | .t toc7 7 "Miscellaneous" | |
1866 | .t toc8 8 "System Maintenance" | |
1867 | .in -\nxi | |
1868 | .cs 3 | |
1869 | .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i | |
1870 | .if o .bp | |
1871 | \& | |
1872 | .bp | |
1873 | \& | |
1874 | .OH '\s9\fIPermuted Index\fP''- % -\s0' | |
1875 | .EH '\s9- % -''\fIPermuted Index\fP\s0' | |
1876 | .ds Ed 4.4BSD | |
1877 | .ds Dt June \|1993 | |
1878 | .ce | |
1879 | \s+4\fBPERMUTED \|INDEX\fP\s-4 | |
1880 | .sp 1 | |
1881 | .nr PS 8 | |
1882 | .nr VS 9 | |
1883 | .LP | |
1884 | .\" backup from slotput 1, slot, 2 | |
1885 | .tr ~ | |
1886 | .nf | |
1887 | .cs 3 36 | |
1888 | .de xx | |
1889 | .ds s1\" | |
1890 | .if \w\ 2\\$2\ 2 .ds s1 ~~\" | |
1891 | .ds s2 ~~~\" | |
1892 | .ds s3\" | |
1893 | .if \w\ 2\\$4\ 2 .ds s3 ~~\" | |
1894 | .ds s4 ~~\" | |
1895 | .ds s5 ~~\" | |
1896 | .ds y \\*(s4\f3\ 1\fP\\*(s5 | |
1897 | .ta 6i-\w\ 2\\*(s5\ 2u | |
1898 | \h"3i-\w\ 2\\$1\\*(s1\\$2\\*(s2\ 2u"\\$1\\*(s1\\$2\\*(s2\\$3\\*(s3\\$4\\*y\\$5 | |
1899 | .. | |
1900 | .so ptxx | |
1901 | .cs 3 | |
1902 | .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i |