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