├── .gitignore ├── Caldera-license.pdf ├── README.md ├── man0 ├── aa ├── aam ├── basinf ├── headrc ├── index ├── intro ├── toc ├── tocrc └── xx ├── man1 ├── :.1 ├── ar.1 ├── as.1 ├── bas.1 ├── cat.1 ├── cc.1 ├── cdb.1 ├── chdir.1 ├── chmod.1 ├── chown.1 ├── cmp.1 ├── cp.1 ├── cref.1 ├── crypt.1 ├── date.1 ├── db.1 ├── dc.1 ├── df.1 ├── dsw.1 ├── du.1 ├── echo.1 ├── ed.1 ├── exit.1 ├── factor.1 ├── fc.1 ├── fed.1 ├── form.1 ├── forml.1 ├── goto.1 ├── hyphen.1 ├── if.1 ├── ld.1 ├── ln.1 ├── login.1 ├── ls.1 ├── m6.1 ├── mail.1 ├── man.1 ├── mesg.1 ├── mkdir.1 ├── mt.1 ├── mv.1 ├── nm.1 ├── nroff.1 ├── od.1 ├── opr.1 ├── ov.1 ├── passwd.1 ├── pr.1 ├── proof.1 ├── reloc.1 ├── rew.1 ├── rm.1 ├── rmdir.1 ├── roff.1 ├── sh.1 ├── size.1 ├── sno.1 ├── sort.1 ├── speak.1 ├── split.1 ├── stat.1 ├── strip.1 ├── stty.1 ├── sum.1 ├── tap.1 ├── time.1 ├── tmg.1 ├── tss.1 ├── tty.1 ├── type.1 ├── typo.1 ├── un.1 ├── uniq.1 ├── vs.1 ├── wc.1 ├── who.1 └── write.1 ├── man2 ├── boot.2 ├── break.2 ├── cemt.2 ├── chdir.2 ├── chmod.2 ├── chown.2 ├── close.2 ├── creat.2 ├── csw.2 ├── dup.2 ├── exec.2 ├── exit.2 ├── fork.2 ├── fpe.2 ├── fstat.2 ├── getuid.2 ├── gtty.2 ├── ilgins.2 ├── intr.2 ├── kill.2 ├── link.2 ├── makdir.2 ├── mdate.2 ├── mount.2 ├── nice.2 ├── open.2 ├── pipe.2 ├── quit.2 ├── read.2 ├── rele.2 ├── seek.2 ├── setuid.2 ├── sleep.2 ├── stat.2 ├── stime.2 ├── stty.2 ├── sync.2 ├── time.2 ├── times.2 ├── umount.2 ├── unlink.2 ├── wait.2 └── write.2 ├── man3 ├── atan.3 ├── atof.3 ├── atoi.3 ├── compar.3 ├── crypt.3 ├── ctime.3 ├── ddsput.3 ├── ecvt.3 ├── exp.3 ├── ftoa.3 ├── ftoo.3 ├── gerts.3 ├── getc.3 ├── hypot.3 ├── itoa.3 ├── log.3 ├── mesg.3 ├── nlist.3 ├── pow.3 ├── ptime.3 ├── putc.3 ├── qsort.3 ├── rand.3 ├── salloc.3 ├── sin.3 ├── sqrt.3 ├── switch.3 └── ttyn.3 ├── man4 ├── dc.4 ├── dn.4 ├── dp.4 ├── kl.4 ├── mem.4 ├── pc.4 ├── rf.4 ├── rk.4 ├── tc.4 ├── tm.4 └── vt.4 ├── man5 ├── a.out.5 ├── ar.5 ├── core.5 ├── dir.5 ├── fs.5 ├── passwd.5 ├── tap.5 ├── utmp.5 └── wtmp.5 ├── man6 ├── bc.6 ├── bj.6 ├── ptx.6 └── yacc.6 ├── man7 ├── ascii.7 ├── dpd.7 ├── getty.7 ├── glob.7 ├── greek.7 ├── init.7 ├── msh.7 ├── tabs.7 └── vsp.7 ├── man8 ├── 20boot.8 ├── acct.8 ├── bproc.8 ├── check.8 ├── chk.8 ├── clri.8 ├── dcheck.8 ├── dli.8 ├── istat.8 ├── kill.8 ├── mount.8 ├── ps.8 ├── salv.8 ├── su.8 ├── swtmp.8 ├── tm.8 └── umount.8 ├── manx ├── as.1 ├── asmt.cat ├── asmt.x ├── basic.6 ├── cal.6 ├── chash.1 ├── das.6 ├── dds.1 ├── dpt.6 ├── fptrap.3 ├── fstrip.1 ├── ident.5 ├── kbd.7 ├── login.7 ├── lpr.4 ├── moo.6 ├── obproc.7 ├── rp.4 ├── speakm.5 ├── ttt.6 └── uids.5 ├── mkall.sh ├── pdfmarks ├── publish.sh └── site-index.html /.gitignore: -------------------------------------------------------------------------------- 1 | v3man.pdf 2 | web 3 | -------------------------------------------------------------------------------- /Caldera-license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dspinellis/unix-v3man/7ac717b0871aca6d67e6f12c24e9fd4d098bffbd/Caldera-license.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Third Research Edition Unix Programmer's Manual 2 | 3 | [![DOI](https://zenodo.org/badge/111328229.svg)](https://zenodo.org/badge/latestdoi/111328229) 4 | 5 | This repository maintains the tools for formatting and 6 | making available the *Unix Programmer's Manual* 7 | (Third Edition, February 1973). 8 | The generated formatted manual is made available 9 | [in PDF form](https://dspinellis.github.io/unix-v3man/v3man.pdf). 10 | 11 | The manual pages and tools are derived from 1973 material unearthed 12 | by [Dennis Ritchie](https://en.wikipedia.org/wiki/Dennis_Ritchie), and 13 | [made available](http://www.tuhs.org/Archive/Distributions/Research/Dennis_v3/) 14 | through the [The Unix Heritage Society](http://www.tuhs.org/). 15 | This is the last edition of the manual that was created 16 | in [nroff (line-printed) form](http://www.tuhs.org/Archive/Distributions/Research/Dennis_v3/Readme.v3man) (rather than typeset with *troff*). 17 | I corrected some minor markup 18 | glitches through commits that are recorded in this repository. 19 | You can find the evolution of the manual pages recorded in the 20 | [Unix history repository](https://github.com/dspinellis/unix-history-repo). 21 | Furthermore, you can find the evolution of the corresponding facilities 22 | on a series of tables available 23 | [here](https://dspinellis.github.io/unix-history-man/index.html). 24 | 25 | ## All manual editions 26 | 27 | * [First Edition, November 1971](http://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf) 28 | * [Second Edition, June 1972](http://www.tuhs.org/Archive/Distributions/Research/Dennis_v2/v2man.pdf) 29 | * [Third Edition, February 1973](https://dspinellis.github.io/unix-v3man/v3man.pdf) 30 | * [Fourth Edition, November 1973](https://dspinellis.github.io/unix-v4man/v4man.pdf) 31 | * [Fifth Edition, June 1974](http://www.tuhs.org/Archive/Distributions/Research/Dennis_v5/v5man.pdf) 32 | * [Sixth Edition, May 1975](https://archive.org/download/v6-manual/v6-manual.pdf) 33 | * [Seventh Edition, January 1979, Volume 1](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol1.pdf) 34 | * [Seventh Edition, January 1979, Volume 2a](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol2a.pdf) 35 | * [Seventh Edition, January 1979, Volume 2b](https://s3.amazonaws.com/plan9-bell-labs/7thEdMan/v7vol2b.pdf) 36 | -------------------------------------------------------------------------------- /man0/aa: -------------------------------------------------------------------------------- 1 | .na 2 | .hc  3 | .in 16 4 | .fo ''- % -'' 5 | -------------------------------------------------------------------------------- /man0/aam: -------------------------------------------------------------------------------- 1 | .na 2 | .hc  3 | .in 16 4 | .fo ''- % -'' 5 | 6 | 7 | . 8 | .\" Header trap to display the header 9 | .de hD 10 | ' sp .5i 11 | . tl \\*(ht 12 | ' sp .3i 13 | .. 14 | .\" Header macro used within the manual pages; setup and display 15 | .de he 16 | . ds ht \\$* 17 | . tl \\*(ht 18 | ' sp .3i 19 | .. 20 | . 21 | .\" Install header trap 22 | .wh 0 hD 23 | 24 | .\" Numbered page footer 25 | .de fo \" Page footer 26 | ' sp 1v 27 | . tl ''- % -'' 28 | ' bp 29 | .. 30 | . 31 | .\" Install footer trap 32 | .wh -1i fo \" trap one inch from bottom 33 | -------------------------------------------------------------------------------- /man0/headrc: -------------------------------------------------------------------------------- 1 | 2s/.*/&&/ 2 | s/'[^']*'// 3 | s/'.he // 4 | s/''/'/p 5 | w 6 | q 7 | -------------------------------------------------------------------------------- /man0/tocrc: -------------------------------------------------------------------------------- 1 | ed toc 2 | /\.xx/;//s/ /(I): / 3 | /\.xx/;//s/ /(II): / 4 | /\.xx/;//s/ /(III): / 5 | /\.xx/;//s/ /(IV): / 6 | /\.xx/;//s/ /(V): / 7 | /\.xx/;//s/ /(VI): / 8 | /\.xx/;//s/ /(VII): / 9 | /\.xx/;//s/ /(VIII): / 10 | g/\.xx/.-4,.d 11 | g/^\./d 12 | g/^$/d 13 | $d 14 | w xtoc 15 | q 16 | ptx xtoc index 17 | rm xtoc 18 | -------------------------------------------------------------------------------- /man0/xx: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'X'Y'X' 3 | .ti 0 4 | NAME X 5 | .sp 6 | .ti 0 7 | SYNOPSIS X 8 | .sp 9 | .ti 0 10 | DESCRIPTION X 11 | .sp 12 | .ti 0 13 | FILES X 14 | .sp 15 | .ti 0 16 | SEE ALSO X 17 | .sp 18 | .ti 0 19 | DIAGNOSTICS X 20 | .sp 21 | .ti 0 22 | BUGS X 23 | -------------------------------------------------------------------------------- /man1/:.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he ': (I)'3/15/72': (I)' 3 | .ti 0 4 | NAME : -- place a label 5 | .sp 6 | .ti 0 7 | SYNOPSIS :_ [ label ] 8 | .sp 9 | .ti 0 10 | DESCRIPTION :_ 11 | does nothing. Its only function is to place 12 | a label for the goto____ command. :_ is a command 13 | so the Shell doesn't have to be fixed to ignore lines with 14 | :'s. 15 | .sp 16 | .ti 0 17 | FILES -- 18 | .sp 19 | .ti 0 20 | SEE ALSO goto(I) 21 | .sp 22 | .ti 0 23 | DIAGNOSTICS -- 24 | .sp 25 | .ti 0 26 | BUGS -- 27 | -------------------------------------------------------------------------------- /man1/ar.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'AR (I)'3/15/72'AR (I)' 3 | .ti 0 4 | NAME ar -- archive 5 | .sp 6 | .ti 0 7 | SYNOPSIS ar__ key afile name918 ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION ar__ 11 | maintains groups of files 12 | combined into a single archive file. 13 | Its main use 14 | is to create and update library files as used by the loader. 15 | It can be used, though, for any similar purpose. 16 | .sp 17 | key___ is one character from the set drtux_____, 18 | optionally concatenated with v_. 19 | afile_____ is the archive file. 20 | The names_____ are constituent files in the archive file. 21 | The meanings of the key___ characters are: 22 | .sp 23 | d_ means delete the named files from the archive file. 24 | .sp 25 | r_ means replace the named files in the archive file. 26 | If the archive file does not exist, r_ will create it. 27 | If the named files are not in the archive file, they are appended. 28 | .sp 29 | t_ prints a table of contents of the archive file. 30 | If no names are given, all files in the archive are tabled. 31 | If names are given, only those files are tabled. 32 | .sp 33 | u_ is similar to r_ except that only those 34 | files that have been modified are replaced. 35 | If no names are given, all files in the archive that 36 | have been modified will be replaced by the modified version. 37 | .sp 38 | x_ will extract the named files. 39 | If no names are given, all files in the archive are 40 | extracted. 41 | In neither case does x_ alter the archive file. 42 | .sp 43 | v_ means verbose. 44 | Under the verbose option, 45 | ar__ gives a file-by-file 46 | description of the making of a 47 | new archive file from the old archive and the constituent files. 48 | The following abbreviations 49 | are used: 50 | .sp 51 | c_ copy 52 | a_ append 53 | d_ delete 54 | r_ replace 55 | x_ extract 56 | .sp 57 | .ti 0 58 | FILES /tmp/vtm? temporary 59 | .sp 60 | .ti 0 61 | SEE ALSO ld(I), archive(V) 62 | .sp 63 | .ti 0 64 | DIAGNOSTICS "Bad usage", 65 | "afile -- not in archive format", 66 | "cannot open temp file", 67 | "name -- cannot open", 68 | "name -- phase error", 69 | "name -- cannot create", 70 | "no archive file", 71 | "cannot create archive file", 72 | "name -- not found". 73 | .sp 74 | .ti 0 75 | BUGS Option 76 | vt__ should be implemented as a table with more information. 77 | .sp 78 | There should be a way to specify the placement 79 | of a new file in an archive. 80 | Currently, it is placed at the end. 81 | 82 | "ar x" changes the modified-date of the current 83 | directory to a random number. 84 | -------------------------------------------------------------------------------- /man1/as.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'AS (I)'1/15/73'AS (I)' 3 | .ti 0 4 | NAME as -- assembler 5 | .sp 6 | .ti 0 7 | SYNOPSIS as__ [ -_ ] name918 ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION as__ 11 | assembles the concatenation of name\d1\u, .... 12 | If the optional first argument 13 | -_ is used, 14 | all undefined symbols in the assembly 15 | are treated as global. 16 | 17 | The output of the assembly is left on the file "a.out". 18 | It is executable if no errors occurred 19 | during the assembly. 20 | 21 | .ti 0 22 | FILES /etc/as2 pass 2 of the assembler 23 | .br 24 | /tmp/atm1? temporary 25 | .br 26 | /tmp/atm2? temporary 27 | .br 28 | /tmp/atm3? temporary 29 | .br 30 | a.out object 31 | .sp 32 | .ti 0 33 | SEE ALSO ld(I), 34 | nm(I), 35 | un(I), 36 | db(I), 37 | a.out(V), 38 | "UNIX Assembler Manual". 39 | .sp 40 | .ti 0 41 | DIAGNOSTICS When 42 | an input file cannot be read, its name 43 | followed by a question mark is typed and assembly 44 | ceases. 45 | When syntactic or semantic errors occur, a single-character diagnostic is typed out 46 | together with the line number and the file name in which it 47 | occurred. Errors in pass 1 cause cancellation of pass 2. 48 | The possible errors are: 49 | .sp 50 | .in +6 51 | .ti -6 52 | ) parentheses error 53 | .ti -6 54 | ] parentheses error 55 | .ti -6 56 | < String not terminated properly 57 | .ti -6 58 | * Indirection ("*_") used illegally 59 | .ti -6 60 | .li 61 | . Illegal assignment to "." 62 | .ti -6 63 | A error in A_ddress 64 | .ti -6 65 | B B_ranch instruction is odd or too remote 66 | .ti -6 67 | E error in E_xpression 68 | .ti -6 69 | F error in local ("F_" or "b") type symbol 70 | .ti -6 71 | G G_arbage (unknown) character 72 | .ti -6 73 | I End of file inside an If__ 74 | .ti -6 75 | M M_ultiply defined symbol as label 76 | .ti -6 77 | O O_dd-- word quantity assembled at odd address 78 | .ti -6 79 | P P_hase error-- "." different in pass 1 and 2 80 | .ti -6 81 | R R_elocation error 82 | .ti -6 83 | U U_ndefined symbol 84 | .ti -6 85 | X syntaX_ error 86 | .in -6 87 | .sp 88 | .ti 0 89 | BUGS Symbol table overflow is not checked. 90 | -------------------------------------------------------------------------------- /man1/cat.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CAT (I)'1/15/73'CAT (I)' 3 | .ti 0 4 | NAME cat -- concatenate and print 5 | .sp 6 | .ti 0 7 | SYNOPSIS cat___ file918 ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION cat___ 11 | reads each file in sequence 12 | and writes it on the standard output. 13 | Thus: 14 | .sp 15 | .ti +3 16 | cat___ file____ 17 | .sp 18 | is about the easiest way to print a file. 19 | Also: 20 | .sp 21 | .ti +3 22 | cat___ file1_____ file2_____ >file3______ 23 | .sp 24 | is about the easiest way to concatenate 25 | files. 26 | .sp 27 | If no input file is given cat___ reads from the standard 28 | input file. 29 | .sp 30 | If the argument "-" is encountered, cat reads from 31 | the standard input file. 32 | .sp 33 | .ti 0 34 | FILES -- 35 | .sp 36 | .ti 0 37 | SEE ALSO pr(I), cp(I) 38 | .sp 39 | .ti 0 40 | DIAGNOSTICS none; 41 | if a file cannot be found it is ignored. 42 | .sp 43 | .ti 0 44 | BUGS cat x y >x and cat x y >y cause strange results. 45 | -------------------------------------------------------------------------------- /man1/cc.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CC (I)'3/15/72'CC (I)' 3 | .ti 0 4 | NAME cc -- C compiler 5 | .sp 6 | .ti 0 7 | SYNOPSIS cc__ [ -c__ ] sfile\d1\u.c__ ... ofile\d1\u ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION cc__ 11 | is the UNIX C compiler. 12 | It accepts three types of arguments: 13 | 14 | Arguments whose names end with ".c" are assumed to be 15 | C source programs; they are compiled, and 16 | the object program is left on the file sfile\d1\u.o (i.e. 17 | the file whose name is that of the source with ".o" substituted 18 | for ".c"). 19 | 20 | Other arguments (except for "-c") are assumed 21 | to be either loader flag arguments, or C-compatible 22 | object programs, typically produced by an earlier cc__ run, 23 | or perhaps libraries of C-compatible routines. 24 | These programs, together with the results of any 25 | compilations specified, are loaded (in the order 26 | given) to produce an executable program with name 27 | a.out_____. 28 | 29 | The "-c" argument suppresses the loading phase, as does 30 | any syntax error in any of the routines being compiled. 31 | 32 | .ti 0 33 | FILES file.c input file 34 | .nf 35 | file.o object file 36 | a.out loaded output 37 | /tmp/ctm? temporary 38 | /lib/c[01] compiler 39 | /lib/crt0.o runtime startoff 40 | /lib/libc.a builtin functions, etc. 41 | /lib/liba.a system library 42 | .fi 43 | .sp 44 | .ti 0 45 | SEE ALSO C reference manual (in preparation), cdb(I) 46 | .sp 47 | .ti 0 48 | DIAGNOSTICS Diagnostics 49 | are intended to be self-explanatory. 50 | .sp 51 | .ti 0 52 | BUGS -- 53 | -------------------------------------------------------------------------------- /man1/cdb.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CDB (I)'1/15/73'CDB (I)' 3 | .ti 0 4 | NAME cdb -- C debugger 5 | .sp 6 | .ti 0 7 | SYNOPSIS cdb___ [ core [ a.out ] ] 8 | .sp 9 | .ti 0 10 | DESCRIPTION cdb___ 11 | is a debugging program for use with C programs. 12 | It is by no means completed, 13 | and this section is essentially only a placeholder 14 | for the actual description. 15 | 16 | Cdb resembles db__ in many respects, except that 17 | all integers are decimal. 18 | 19 | Even the present cdb___ has one useful feature: 20 | the command 21 | 22 | $ 23 | 24 | will give a stack 25 | trace 26 | of the core image of a terminated C program. 27 | The calls are listed in the order made; 28 | the actual arguments to each routine are given 29 | in octal. 30 | .sp 31 | .ti 0 32 | FILES -- 33 | .sp 34 | .ti 0 35 | SEE ALSO cc(I), db(I), C Reference Manual 36 | .sp 37 | .ti 0 38 | DIAGNOSTICS "?" 39 | .sp 40 | .ti 0 41 | BUGS -- 42 | -------------------------------------------------------------------------------- /man1/chdir.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CHDIR (I)'3/15/72'CHDIR (I)' 3 | .ti 0 4 | NAME chdir -- change working directory 5 | .sp 6 | .ti 0 7 | SYNOPSIS chdir_____ directory 8 | .sp 9 | .ti 0 10 | DESCRIPTION directory_________ 11 | becomes the new working directory. 12 | .sp 13 | Because a new process is created to execute each command, 14 | chdir_____ would be ineffective if it were written as a 15 | normal command. It is therefore recognized and executed 16 | by the Shell. 17 | .sp 18 | .ti 0 19 | FILES -- 20 | .sp 21 | .ti 0 22 | SEE ALSO sh(I) 23 | .sp 24 | .ti 0 25 | DIAGNOSTICS "Bad directory" if the directory cannot 26 | be changed to. 27 | .sp 28 | .ti 0 29 | BUGS -- 30 | -------------------------------------------------------------------------------- /man1/chmod.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CHMOD (I)'3/15/72'CHMOD (I)' 3 | .ti 0 4 | NAME chmod -- change mode 5 | .sp 6 | .ti 0 7 | SYNOPSIS chmod_____ octal file918 ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION The octal mode 11 | replaces the mode of each of the files. 12 | The mode is constructed from the OR of the 13 | following modes: 14 | .sp 15 | .ti +3 16 | 01 write for non-owner 17 | .ti +3 18 | 02 read for non-owner 19 | .ti +3 20 | 04 write for owner 21 | .ti +3 22 | 10 read for owner 23 | .ti +3 24 | 20 executable 25 | .ti +3 26 | 40 set-UID 27 | .sp 28 | Only the owner of a file may change its mode. 29 | .sp 30 | .ti 0 31 | FILES -- 32 | .sp 33 | .ti 0 34 | SEE ALSO stat(I), ls(I) 35 | .sp 36 | .ti 0 37 | DIAGNOSTICS "?" 38 | .sp 39 | .ti 0 40 | BUGS -- 41 | -------------------------------------------------------------------------------- /man1/chown.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CHOWN (I)'3/15/72'CHOWN (I)' 3 | .ti 0 4 | NAME chown -- change owner 5 | .sp 6 | .ti 0 7 | SYNOPSIS chown_____ owner file918 ... 8 | .sp 9 | .ti 0 10 | DESCRIPTION owner_____ 11 | becomes the new owner of the files. 12 | The owner may be either a decimal UID or 13 | a login name found in the password file. 14 | .sp 15 | Only the owner of a file is allowed to change the owner. 16 | It is illegal to change the owner of a file with the set-user-ID 17 | mode. 18 | .sp 19 | .ti 0 20 | FILES /etc/passwd 21 | .sp 22 | .ti 0 23 | SEE ALSO stat(I) 24 | .sp 25 | .ti 0 26 | DIAGNOSTICS "Who?" if owner cannot be found, 27 | "file?" if file cannot be found. 28 | .sp 29 | .ti 0 30 | BUGS -- 31 | -------------------------------------------------------------------------------- /man1/cmp.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CMP (I)'1/15/73'CMP (I)' 3 | .ti 0 4 | NAME cmp -- compare two files 5 | .sp 6 | .ti 0 7 | SYNOPSIS cmp___ file918 file928 8 | .sp 9 | .ti 0 10 | DESCRIPTION The two files are 11 | compared for identical contents. 12 | Discrepancies are noted 13 | by giving the offset and the differing words, 14 | all in octal. 15 | .sp 16 | .ti 0 17 | FILES -- 18 | .sp 19 | .ti 0 20 | SEE ALSO proof(I) 21 | .sp 22 | .ti 0 23 | DIAGNOSTICS Messages 24 | are given for inability to open either argument, premature 25 | EOF on either argument, and incorrect usage. 26 | .sp 27 | .ti 0 28 | BUGS If 29 | the shorter of the two files is of odd length, 30 | cmp acts as if a null byte had been appended to it. 31 | -------------------------------------------------------------------------------- /man1/cp.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CP (I)'1/24/73'CP (I)' 3 | .ti 0 4 | NAME cp -- copy 5 | .sp 6 | .ti 0 7 | SYNOPSIS cp__ file918 file928 8 | .sp 9 | .ti 0 10 | DESCRIPTION The 11 | first file is copied onto the second. 12 | The mode and owner of the target file 13 | are preserved if it already 14 | existed; the mode of the source file 15 | is used otherwise. 16 | .sp 17 | If file928 is a directory, then the target 18 | file is a file in that directory with the file-name 19 | of file918. 20 | .sp 21 | .ti 0 22 | FILES -- 23 | .sp 24 | .ti 0 25 | SEE ALSO cat(I), pr(I), mv(I) 26 | .sp 27 | .ti 0 28 | DIAGNOSTICS Error returns are 29 | checked at every system call, and 30 | appropriate diagnostics are produced. 31 | .sp 32 | .ti 0 33 | BUGS Copying 34 | a file onto itself destroys its contents. 35 | -------------------------------------------------------------------------------- /man1/crypt.1: -------------------------------------------------------------------------------- 1 | .pa 1 2 | .he 'CRYPT (I)'10/23/71'CRYPT (I)' 3 | .ti 0 4 | NAME crypt -- encode/decode 5 | .sp 6 | .ti 0 7 | SYNOPSIS crypt_____ [ password ] 8 | .sp 9 | .ti 0 10 | DESCRIPTION crypt_____ 11 | is an exact implementation of Boris Hagelin's 12 | cryptographic machine called the M-209 by the U. S. Army [1]. 13 | 14 | crypt_____ reads from the standard input file and writes 15 | on the standard output. 16 | For a given password, the encryption 17 | process is idempotent; 18 | that is, 19 | 20 | crypt znorkle cypher 21 | crypt znorkle