UNIX PROGRAMMER'S MANUAL Third Edition K. Thompson D. M. Ritchie February, 1973 c Copyright 1972 Bell Telephone Laboratories, Inc. No part of this document may be reproduced, or distributed outside the Laboratories, without the written permission of Bell Telephone Laboratories. PREFACE to the Third Edition In the months since the last appearance of this manual, many changes have occurred both in the system itself and in the way it is used. Perhaps most obviously, there have been additions, deletions, and modifications to the system and its software. It is these changes, of course, that caused the appearance of this revised manual. Second, the number of people spending an appreciable amount of time writing UNIX software has increased. Credit is due to L. L. Cherry, M. D. McIlroy, L. E. McMahon, R. Morris, J. F. Ossanna, and E. N. Pinson for their contributions. Finally, the number of UNIX installations has grown to 16, with more expected. None of these has exactly the same complement of hardware or software. Therefore, at any particular installation, it is quite possible that this manual will give inappropriate in- formation. In particular, any system which uses a PDP-11/20 processor will not include all the software described herein, nor will the soft- ware behave the same way. The second, or even the first, edition of this manual is likely to be more appropriate. Besides additions, deletions, and modifications to the writeups in each section, this manual differs from its predecessors in two ways: all the commands used for system maintenance and not in- tended for normal users have been moved to a new section VIII; and there is a new "How to Get Started" chapter that gives some elementary facts and many pointers to other sections. INTRODUCTION TO THIS MANUAL This manual gives descriptions of the publicly available features of UNIX. It provides neither a general overview (see "The UNIX Time-sharing System" for that) nor details of the implementation of the system (which remain to be disclosed). Within the area it surveys, this manual attempts to be as com- plete and timely as possible. A conscious decision was made to describe each program in exactly the state it was in at the time its manual section was prepared. In particular, the desire to describe something as it should be, not as it is, was resisted. Inevitably, this means that many sections will soon be out of date. (The rate of change of the system is so great that a dis- mayingly large number of early sections had to be modified while the rest were being written. The unbounded effort required to stay up-to-date is best indicated by the fact that several of the programs described were written specifically to aid in prepara- tion of this manual!) This manual is divided into eight sections: I. Commands II. System calls III. Subroutines IV. Special files V. File formats VI. User-maintained programs VII. Miscellaneous VIII. Maintenance Commands are programs intended to be invoked directly by the user, in contradistinction to subroutines, which are intended to be called by the user's programs. Commands generally reside in directory /bin (for binary programs). This directory is searched automatically by the command line interpreter. Some programs classified as commands are located elsewhere; this fact is indi- cated in the appropriate sections. System calls are entries into the UNIX supervisor. In assembly language, they are coded with the use of the opcode "sys", a syn- onym for the trap instruction. A small assortment of subroutines is available; they are de- scribed in section III. The binary form of most of them is kept in the system library /usr/lib/liba.a. The special files section IV discusses the characteristics of each system "file" which actually refers to an I/O device. Un- like previous editions, the names in this section refer to the DEC device names for the hardware, instead of the neames of the special files themselves. The file formats section V documents the structure of particular kinds of files; for example, the form of the output of the loader and assembler is given. Excluded are files used by only one com- mand, for example the assembler's intermediate files. User-maintained programs (section VI) are not considered part of the UNIX system, and the principal reason for listing them is to indicate their existence without necessarily giving a complete description. The author should be consulted for information. The miscellaneous section (VII) gathers odds and ends. Section VIII discusses commands which are not intended for use by the ordinary user, in some cases because they disclose informa- tion in which he is presumably not interested, and in others be- cause they perform privileged functions. Each section consists of a number of independent entries of a page or so each. The name of the entry is in the upper corners of its pages, its preparation date in the upper middle. Entries within each section are alphabetized. The page numbers of each entry start at 1. (The earlier hope for frequent, partial up- dates of the manual is clearly in vain, but in any event it is not feasible to maintain consecutive page numbering in a document like this.) All entries have a common format. The name section repeats the entry name and gives a very short description of its purpose. The synopsis summarizes the use of the program being de- scribed. A few conventions are used, particularly in the Commands section: Underlined words are considered literals, and are typed just as they appear. Square brackets ([]) around an argument indicate that the argument is optional. When an argument is given as "name", it always refers to a file name. Ellipses "..." are used to show that the previous argument-prototype may be repeated. A final convention is used by the commands themselves. An argument beginning with a minus sign "-" is often tak- en to mean some sort of flag argument even if it appears in a position where a file name could appear. Therefore, it is unwise to have files whose names begin with "-". The description section discusses in detail the subject at hand. The files section gives the names of files which are built into the program. A see also section gives pointers to related information. A diagnostics section discusses the diagnostics that may be produced. This section tends to be as terse as the diagnos- tics themselves. The bugs section gives known bugs and sometimes deficien- cies. Occasionally also the suggested fix is described. Previous edition of this manual had an owner section, which has been dropped from this edition because the "owners" of many rou- tines became fairly hard to pin down. The major contributors to UNIX, (cast in order of appearance) together with their login names and most notable contributions, are ken K. Thompson (UNIX, many commands) dmr D. M. Ritchie (many commands, as, ld, C) jfo J. F. Ossanna (roff, nroff) doug M. D. McIlroy (tmg, m6) rhm R. Morris (dc, much of library) lem L. E. McMahon (cref) llc L. L. Cherry (form, fed, salloc) csr C. S. Roberts (tss) enp E. N. Pinson (proof) At the beginning of this document is a table of contents, orga- nized by section and alphabetically within each section. There is also a permuted index derived from the table of contents. Within each index entry, the title of the writeup to which it refers is followed by the appropriate section number in parenthe- ses. This fact is important because there is considerable name duplication among the sections, arising principally from commands which exist only to exercise a particular system call. This manual was prepared using the UNIX text editor ed and the formatting program roff. The assistance of R. Morris is gratefully acknowledged. TABLE OF CONTENTS I. COMMANDS : ............................ place label ar ........................... archive (combine) files as ........................... assembler bas .......................... BASIC dialect cat .......................... concatenate (or print) files cc ........................... compile C program cdb .......................... C debugger chdir ........................ change working directory chmod ........................ change access mode of files chown ........................ change owner of files cmp .......................... compare file contents cp ........................... copy file cref ......................... cross reference table crypt ........................ encrypt, decrypt a file date ......................... get date and time of day db ........................... symbolic debugger dc ........................... desk calculator df ........................... find free disk space dsw .......................... delete files interactively du ........................... find disk usage echo ......................... print command arguments ed ........................... text editor exit ......................... end command sequence factor ....................... factor a number fc ........................... compile Fortran program fed .......................... form letter editor form ......................... generate form letter forml ........................ generate form letters goto ......................... command transfer hyphen ....................... find hyphenated words if ........................... conditional command ld ........................... link editor (loader) ln ........................... link to file login ........................ log on to system ls ........................... list contents of directory m6 ........................... macroprocessor mail ......................... send mail to another user man .......................... run off manual section mesg ......................... permit or deny messages mkdir ........................ create directory mt ........................... save, restore files on magtape mv ........................... move or rename file nm ........................... print namelist nroff ........................ format text for printing od ........................... octal dump of file opr .......................... print file off-line ov ........................... page overlay file print passwd ....................... set login password pr ........................... print file with headings proof ........................ compare text files reloc ........................ relocate object files rew .......................... rewind DECtape rm ........................... remove (delete) file rmdir ........................ remove (delete) directory roff ......................... format text for printing sh ........................... command interpreter size ......................... get executable program size sno .......................... compile Snobol program sort ......................... sort ASCII file speak ........................ send words to voice synthesizer split ........................ break a file into pieces stat ......................... get file status strip ........................ remove symbols, relocation bits stty ......................... set typewriter modes sum .......................... sum file tap .......................... save, restore files on DECtape time ......................... get time information tmg .......................... compile tmgl program tss .......................... communicate with MH-TSS (GCOS) tty .......................... find name of terminal type ......................... print file page-by-page typo ......................... find typographic errors un ........................... find undefined symbols uniq ......................... find duplicate lines in a file vs ........................... generate voice synthesizer phonemes wc ........................... get (English) word count who .......................... who is on the system write ........................ write to another user II. SYSTEM CALLS boot ......................... reboot the system break ........................ set program break cemt ......................... catch EMT traps chdir ........................ change working directory chmod ........................ change mode of file chown ........................ change owner of file close ........................ close open file creat ........................ create file csw .......................... read the console switches dup .......................... duplicate an open file exec ......................... execute program file exit ......................... terminate execution fork ......................... create new process fpe .......................... catch floating exception errors fstat ........................ status of open file getuid ....................... get user ID gtty ......................... get typewriter mode ilgins ....................... catch illegal instruction trap intr ......................... catch or inhibit interrupts kill ......................... destroy process link ......................... link to file makdir ....................... create directory mdate ........................ set date modified of file mount ........................ mount file system nice ......................... set low-priority status open ......................... open file pipe ......................... open inter process channel quit ......................... inhibit quits read ......................... read file rele ......................... release processor seek ......................... move read or write pointer setuid ....................... set user ID sleep ........................ delay execution stat ......................... get file status stime ........................ set system time stty ......................... set mode of typewriter sync ......................... assure synchronization time ......................... get time of year times ........................ get execution times umount ....................... dismount file system unlink ....................... remove (delete) file wait ......................... wait for process write ........................ write file III. SUBROUTINES atan ......................... arctangent atof ......................... convert ASCII to floating atoi ......................... convert ASCII to integer compar ....................... string compare for sort crypt ........................ encrypt according to a keyword ctime ........................ convert time to ASCII ddsput ....................... display character on Picturephone ecvt ......................... edited output conversion exp .......................... exponential function ftoa ......................... convert floating to ASCII ftoo ......................... convert floating to octal gerts ........................ communicate with GCOS getc ......................... get character hypot ........................ compute hypotenuse itoa ......................... convert integer to ASCII log .......................... logarithm base e mesg ......................... print string on typewriter nlist ........................ read name list pow .......................... take powers of numbers ptime ........................ print time putc ......................... write character or word qsort ........................ quicker sort rand ......................... pseudo random number generator salloc ....................... storage allocator sin .......................... sine, cosine sqrt ......................... square root switch ....................... transfer depending on value ttyn ......................... find teletype name IV. SPECIAL FILES dc ........................... remote typewriter dn ........................... 801 ACU dp ........................... 201 Dataphone kl ........................... console typewriter mem .......................... core memory pc ........................... punched paper tape rf ........................... RF disk rk ........................... RK disk tc ........................... DECtape tm............................ 9-track magtape vt ........................... storage-tube display V. FILE FORMATS a.out ........................ assembler and loader output archive ...................... archive file core ......................... core image file directory .................... directory format file system .................. file system format passwd ....................... password file tap .......................... DECtape and magtape format utmp ......................... logged-in user information wtmp ......................... accounting files VI. USER MAINTAINED PROGRAMS bc ........................... compile B program bj ........................... blackjack ptx .......................... permuted index yacc ......................... yet another compiler-compiler VII. MISCELLANEOUS ascii ........................ map of ASCII dpd .......................... spawn dataphone daemon getty ........................ adapt to typewriter glob ......................... argument expander greek ........................ extended TTY 37 typebox map init ......................... initializer process msh .......................... mini Shell tabs ......................... set tab stops on typewriter vsp .......................... voice synthesizer phonemes VIII. SYSTEM MAINTAINANCE 20boot ....................... reboot 11/20 system acct ......................... get connect-time accounting bproc ........................ boot procedure check ........................ check consistency of file system chk .......................... check all file systems clri ......................... clear file's i-node dcheck ....................... verify directory hierarchy dli .......................... load DEC binary paper tapes istat ........................ file status by i-number kill ......................... terminate a process mount ........................ mount removable file system ps ........................... get process status salv ......................... repair damaged file system su ........................... become super-user swtmp ........................ truncate accounting files tm ........................... get system time information umount ....................... dismount removable file system INDEX 20boot(VIII): reboot 11/20 system dp(IV): 201 Dataphone 20boot(VIII): reboot 11/20 system greek(VII): extended TTY 37 typebox map dn(IV): 801 ACU tm 9-track magtape :(I): place label a.out(V): assembler and loader output chmod(I): change access mode of files crypt(III): encrypt according to a keyword wtmp(V): accounting files acct(VIII): get connect-time accounting acct(VIII): get connect-time accounting dn(IV): 801 ACU getty(VII): adapt to typewriter chk(VIII): check all file systems salloc(III): storage allocator dup(II): duplicate an open file yacc(VI): yet another compiler-compiler mail(I): send mail to another user write(I): write to another user ar(I): archive (combine) files archive(V): archive file archive(V): archive file atan(III): arctangent glob(VII): argument expander echo(I): print command arguments ar(I): archive (combine) files sort(I): sort ASCII file atof(III): convert ASCII to floating atoi(III): convert ASCII to integer ascii(VII): map of ASCII ascii(VII): map of ASCII ctime(III): convert time to ASCII convert floating to ASCII...ftoa(III): itoa(III): convert integer to ASCII as(I): assembler a.out(V): assembler and loader output as(I): assembler sync(II): assure synchronization atan(III): arctangent atof(III): convert ASCII to floating atoi(III): convert ASCII to integer bc(VI): compile B program log(III): logarithm base e bas(I): BASIC dialect bas(I): BASIC dialect bc(VI): compile B program dli(VIII): load DEC binary paper tapes remove symbols, relocation bits...strip(I): bj(VI): blackjack bj(VI): blackjack bproc(VIII): boot procedure boot(II): reboot the system bproc(VIII): boot procedure split(I): break a file into pieces break(II): set program break break(II): set program break istat(VIII): file status by i-number cdb(I): C debugger cc(I): compile C program dc(I): desk calculator cemt(II): catch EMT traps fpe(II): catch floating exception errors ilgins(II): catch illegal instruction trap intr(II): catch or inhibit interrupts cat(I): concatenate (or print) files cc(I): compile C program cdb(I): C debugger cemt(II): catch EMT traps chmod(I): change access mode of files chmod(II): change mode of file chown(I): change owner of files chown(II): change owner of file chdir(I): change working directory chdir(II): change working directory pipe(II): open inter process channel ddsput(III): display character on Picturephone putc(III): write character or word getc(III): get character chdir(I): change working directory chdir(II): change working directory chk(VIII): check all file systems check(VIII): check consistency of file system system... check(VIII): check consistency of file chk(VIII): check all file systems chmod(I): change access mode of files chmod(II): change mode of file chown(I): change owner of files chown(II): change owner of file clri(VIII): clear file's i-node close(II): close open file close(II): close open file clri(VIII): clear file's i-node cmp(I): compare file contents ar(I): archive (combine) files echo(I): print command arguments sh(I): command interpreter exit(I): end command sequence goto(I): command transfer if(I): conditional command gerts(III): communicate with GCOS tss(I): communicate with MH-TSS (GCOS) cmp(I): compare file contents compar(III): string compare for sort proof(I): compare text files compar(III): string compare for sort bc(VI): compile B program cc(I): compile C program fc(I): compile Fortran program sno(I): compile Snobol program tmg(I): compile tmgl program yacc(VI): yet another compiler-compiler hypot(III): compute hypotenuse cat(I): concatenate (or print) files if(I): conditional command acct(VIII): get connect-time accounting check(VIII): check consistency of file system csw(II): read the console switches kl(IV): console typewriter ls(I): list contents of directory cmp(I): compare file contents ecvt(III): edited output conversion atof(III): convert ASCII to floating atoi(III): convert ASCII to integer ftoa(III): convert floating to ASCII ftoo(III): convert floating to octal itoa(III): convert integer to ASCII ctime(III): convert time to ASCII cp(I): copy file core(V): core image file mem(IV): core memory core(V): core image file sin(III): sine, cosine wc(I): get (English) word count cp(I): copy file makdir(II): create directory mkdir(I): create directory creat(II): create file fork(II): create new process creat(II): create file cref(I): cross reference table cref(I): cross reference table crypt(I): encrypt, decrypt a file crypt(III): encrypt according to a keyword csw(II): read the console switches ctime(III): convert time to ASCII dpd(VII): spawn dataphone daemon salv(VIII): repair damaged file system dpd(VII): spawn dataphone daemon dp(IV): 201 Dataphone date(I): get date and time of day mdate(II): set date modified of file date(I): get date and time of day date(I): get date and time of day db(I): symbolic debugger dcheck(VIII): verify directory hierarchy dc(I): desk calculator dc(IV): remote typewriter Picturephone... ddsput(III): display character on cdb(I): C debugger db(I): symbolic debugger dli(VIII): load DEC binary paper tapes crypt(I): encrypt, decrypt a file tap(V): DECtape and magtape format rew(I): rewind DECtape save, restore files on DECtape...tap(I): tc(IV): DECtape sleep(II): delay execution dsw(I): delete files interactively rmdir(I): remove (delete) directory rm(I): remove (delete) file unlink(II): remove (delete) file mesg(I): permit or deny messages switch(III): transfer depending on value dc(I): desk calculator kill(II): destroy process df(I): find free disk space bas(I): BASIC dialect directory(V): directory format dcheck(VIII): verify directory hierarchy directory(V): directory format chdir(I): change working directory chdir(II): change working directory ls(I): list contents of directory makdir(II): create directory mkdir(I): create directory rmdir(I): remove (delete) directory df(I): find free disk space du(I): find disk usage rf(IV): RF disk rk(IV): RK disk umount(II): dismount file system ddsput(III): display character on Picturephone vt(IV): storage-tube display dli(VIII): load DEC binary paper tapes dn(IV): 801 ACU dpd(VII): spawn dataphone daemon dp(IV): 201 Dataphone dsw(I): delete files interactively du(I): find disk usage od(I): octal dump of file dup(II): duplicate an open file dup(II): duplicate an open file uniq(I): find duplicate lines in a file echo(I): print command arguments ecvt(III): edited output conversion ed(I): text editor ecvt(III): edited output conversion ld(I): link editor (loader) ed(I): text editor fed(I): form letter editor cemt(II): catch EMT traps crypt(III): encrypt according to a keyword crypt(I): encrypt, decrypt a file exit(I): end command sequence wc(I): get (English) word count catch floating exception errors...fpe(II): typo(I): find typographic errors fpe(II): catch floating exception errors exec(II): execute program file size(I): get executable program size exec(II): execute program file times(II): get execution times exit(II): terminate execution sleep(II): delay execution exit(I): end command sequence exit(II): terminate execution glob(VII): argument expander exp(III): exponential function exp(III): exponential function greek(VII): extended TTY 37 typebox map log(III): logarithm base e factor(I): factor a number factor(I): factor a number fc(I): compile Fortran program fed(I): form letter editor cmp(I): compare file contents split(I): break a file into pieces opr(I): print file off-line type(I): print file page-by-page ov(I): page overlay file print istat(VIII): file status by i-number stat(I): get file status stat(II): get file status file system(V): file system format chk(VIII): check all file systems file system(V): file system format check consistency of file system...check(VIII): mount(II): mount file system mount(VIII): mount removable file system salv(VIII): repair damaged file system umount(II): dismount file system pr(I): print file with headings clri(VIII): clear file's i-node dsw(I): delete files interactively tap(I): save, restore files on DECtape mt(I): save, restore files on magtape ar(I): archive (combine) files concatenate (or print) files...cat(I): change access mode of files...chmod(I): chown(I): change owner of files proof(I): compare text files reloc(I): relocate object files wtmp(V): accounting files archive(V): archive file chmod(II): change mode of file chown(II): change owner of file close(II): close open file core(V): core image file cp(I): copy file creat(II): create file crypt(I): encrypt, decrypt a file dup(II): duplicate an open file exec(II): execute program file fstat(II): status of open file link(II): link to file ln(I): link to file set date modified of file...mdate(II): mv(I): move or rename file od(I): octal dump of file open(II): open file passwd(V): password file read(II): read file rm(I): remove (delete) file sort(I): sort ASCII file sum(I): sum file find duplicate lines in a file...uniq(I): unlink(II): remove (delete) file write(II): write file du(I): find disk usage uniq(I): find duplicate lines in a file df(I): find free disk space hyphen(I): find hyphenated words tty(I): find name of terminal ttyn(III): find teletype name typo(I): find typographic errors un(I): find undefined symbols fpe(II): catch floating exception errors ftoa(III): convert floating to ASCII ftoo(III): convert floating to octal atof(III): convert ASCII to floating fork(II): create new process fed(I): form letter editor forml(I): generate form letters form(I): generate form letter nroff(I): format text for printing roff(I): format text for printing directory(V): directory format file system(V): file system format tap(V): DECtape and magtape format form(I): generate form letter forml(I): generate form letters fc(I): compile Fortran program fpe(II): catch floating exception errors df(I): find free disk space fstat(II): status of open file ftoa(III): convert floating to ASCII ftoo(III): convert floating to octal exp(III): exponential function communicate with MH-TSS (GCOS)...tss(I): gerts(III): communicate with GCOS forml(I): generate form letters form(I): generate form letter vs(I): generate voice synthesizer phonemes pseudo random number generator...rand(III): gerts(III): communicate with GCOS getc(III): get character acct(VIII): get connect-time accounting date(I): get date and time of day wc(I): get (English) word count size(I): get executable program size times(II): get execution times stat(I): get file status stat(II): get file status ps(VIII): get process status time(I): get time information time(II): get time of year gtty(II): get typewriter mode getuid(II): get user ID getc(III): get character getty(VII): adapt to typewriter getuid(II): get user ID glob(VII): argument expander goto(I): command transfer greek(VII): extended TTY 37 typebox map gtty(II): get typewriter mode pr(I): print file with headings verify directory hierarchy...dcheck(VIII): hyphen(I): find hyphenated words hyphen(I): find hyphenated words hypot(III): compute hypotenuse hypot(III): compute hypotenuse clri(VIII): clear file's i-node istat(VIII): file status by i-number getuid(II): get user ID setuid(II): set user ID if(I): conditional command ilgins(II): catch illegal instruction trap ilgins(II): catch illegal instruction trap core(V): core image file uniq(I): find duplicate lines in a file ptx(VI): permuted index time(I): get time information utmp(V): logged-in user information intr(II): catch or inhibit interrupts quit(II): inhibit quits init(VII): initializer process init(VII): initializer process ilgins(II): catch illegal instruction trap itoa(III): convert integer to ASCII atoi(III): convert ASCII to integer pipe(II): open inter process channel dsw(I): delete files interactively sh(I): command interpreter intr(II): catch or inhibit interrupts split(I): break a file into pieces intr(II): catch or inhibit interrupts istat(VIII): file status by i-number itoa(III): convert integer to ASCII encrypt according to a keyword...crypt(III): kill(II): destroy process kill(VIII): terminate a process kl(IV): console typewriter :(I): place label ld(I): link editor (loader) fed(I): form letter editor forml(I): generate form letters form(I): generate form letter uniq(I): find duplicate lines in a file ld(I): link editor (loader) link(II): link to file ln(I): link to file link(II): link to file ls(I): list contents of directory nlist(III): read name list ln(I): link to file dli(VIII): load DEC binary paper tapes a.out(V): assembler and loader output ld(I): link editor (loader) login(I): log on to system log(III): logarithm base e utmp(V): logged-in user information log(III): logarithm base e passwd(I): set login password login(I): log on to system nice(II): set low-priority status ls(I): list contents of directory m6(I): macroprocessor m6(I): macroprocessor tap(V): DECtape and magtape format mt(I): save, restore files on magtape tm 9-track magtape mail(I): send mail to another user mail(I): send mail to another user makdir(II): create directory man(I): run off manual section man(I): run off manual section ascii(VII): map of ASCII extended TTY 37 typebox map...greek(VII): mdate(II): set date modified of file mem(IV): core memory mem(IV): core memory mesg(I): permit or deny messages mesg(III): print string on typewriter mesg(I): permit or deny messages tss(I): communicate with MH-TSS (GCOS) msh(VII): mini Shell mkdir(I): create directory chmod(I): change access mode of files chmod(II): change mode of file stty(II): set mode of typewriter stty(I): set typewriter modes gtty(II): get typewriter mode mdate(II): set date modified of file mount(II): mount file system mount(VIII): mount removable file system mount(II): mount file system mount(VIII): mount removable file system mv(I): move or rename file seek(II): move read or write pointer msh(VII): mini Shell mt(I): save, restore files on magtape mv(I): move or rename file nlist(III): read name list tty(I): find name of terminal nm(I): print namelist ttyn(III): find teletype name fork(II): create new process nice(II): set low-priority status nlist(III): read name list nm(I): print namelist nroff(I): format text for printing rand(III): pseudo random number generator pow(III): take powers of numbers factor(I): factor a number reloc(I): relocate object files od(I): octal dump of file convert floating to octal...ftoo(III): od(I): octal dump of file man(I): run off manual section opr(I): print file off-line close(II): close open file dup(II): duplicate an open file fstat(II): status of open file open(II): open file pipe(II): open inter process channel open(II): open file opr(I): print file off-line cat(I): concatenate (or print) files ecvt(III): edited output conversion assembler and loader output...a.out(V): ov(I): page overlay file print ov(I): page overlay file print chown(I): change owner of files chown(II): change owner of file ov(I): page overlay file print type(I): print file page-by-page dli(VIII): load DEC binary paper tapes pc(IV): punched paper tape passwd(I): set login password passwd(V): password file passwd(V): password file passwd(I): set login password pc(IV): punched paper tape mesg(I): permit or deny messages ptx(VI): permuted index generate voice synthesizer phonemes...vs(I): vsp(VII): voice synthesizer phonemes display character on Picturephone...ddsput(III): split(I): break a file into pieces pipe(II): open inter process channel :(I): place label seek(II): move read or write pointer pow(III): take powers of numbers pow(III): take powers of numbers pr(I): print file with headings echo(I): print command arguments opr(I): print file off-line type(I): print file page-by-page pr(I): print file with headings nm(I): print namelist mesg(III): print string on typewriter ptime(III): print time cat(I): concatenate (or print) files nroff(I): format text for printing roff(I): format text for printing ov(I): page overlay file print bproc(VIII): boot procedure pipe(II): open inter process channel ps(VIII): get process status rele(II): release processor fork(II): create new process init(VII): initializer process kill(II): destroy process kill(VIII): terminate a process wait(II): wait for process break(II): set program break exec(II): execute program file size(I): get executable program size bc(VI): compile B program cc(I): compile C program fc(I): compile Fortran program sno(I): compile Snobol program tmg(I): compile tmgl program proof(I): compare text files rand(III): pseudo random number generator ps(VIII): get process status ptime(III): print time ptx(VI): permuted index pc(IV): punched paper tape putc(III): write character or word qsort(III): quicker sort qsort(III): quicker sort quit(II): inhibit quits quit(II): inhibit quits rand(III): pseudo random number generator rand(III): pseudo random number generator read(II): read file nlist(III): read name list seek(II): move read or write pointer csw(II): read the console switches read(II): read file 20boot(VIII): reboot 11/20 system boot(II): reboot the system cref(I): cross reference table rele(II): release processor rele(II): release processor reloc(I): relocate object files strip(I): remove symbols, relocation bits reloc(I): relocate object files dc(IV): remote typewriter mount(VIII): mount removable file system rmdir(I): remove (delete) directory rm(I): remove (delete) file unlink(II): remove (delete) file strip(I): remove symbols, relocation bits mv(I): move or rename file salv(VIII): repair damaged file system tap(I): save, restore files on DECtape mt(I): save, restore files on magtape rew(I): rewind DECtape rew(I): rewind DECtape rf(IV): RF disk rf(IV): RF disk rk(IV): RK disk rk(IV): RK disk rmdir(I): remove (delete) directory rm(I): remove (delete) file roff(I): format text for printing sqrt(III): square root man(I): run off manual section salloc(III): storage allocator salv(VIII): repair damaged file system tap(I): save, restore files on DECtape mt(I): save, restore files on magtape man(I): run off manual section seek(II): move read or write pointer mail(I): send mail to another user speak(I): send words to voice synthesizer exit(I): end command sequence mdate(II): set date modified of file passwd(I): set login password nice(II): set low-priority status stty(II): set mode of typewriter break(II): set program break stime(II): set system time tabs(VII): set tab stops on typewriter stty(I): set typewriter modes setuid(II): set user ID setuid(II): set user ID msh(VII): mini Shell sh(I): command interpreter sin(III): sine, cosine sin(III): sine, cosine size(I): get executable program size get executable program size...size(I): sleep(II): delay execution sno(I): compile Snobol program sno(I): compile Snobol program sort(I): sort ASCII file sort(I): sort ASCII file string compare for sort...compar(III): qsort(III): quicker sort df(I): find free disk space dpd(VII): spawn dataphone daemon speak(I): send words to voice synthesizer split(I): break a file into pieces sqrt(III): square root sqrt(III): square root stat(I): get file status stat(II): get file status istat(VIII): file status by i-number fstat(II): status of open file nice(II): set low-priority status ps(VIII): get process status stat(I): get file status stat(II): get file status stime(II): set system time tabs(VII): set tab stops on typewriter salloc(III): storage allocator vt(IV): storage-tube display compar(III): string compare for sort mesg(III): print string on typewriter strip(I): remove symbols, relocation bits stty(I): set typewriter modes stty(II): set mode of typewriter sum(I): sum file sum(I): sum file csw(II): read the console switches switch(III): transfer depending on value db(I): symbolic debugger strip(I): remove symbols, relocation bits un(I): find undefined symbols sync(II): assure synchronization sync(II): assure synchronization vs(I): generate voice synthesizer phonemes vsp(VII): voice synthesizer phonemes speak(I): send words to voice synthesizer file system(V): file system format stime(II): set system time chk(VIII): check all file systems file system(V): file system format 20boot(VIII): reboot 11/20 system boot(II): reboot the system check consistency of file system...check(VIII): login(I): log on to system mount(II): mount file system mount removable file system...mount(VIII): repair damaged file system...salv(VIII): umount(II): dismount file system who(I): who is on the system tabs(VII): set tab stops on typewriter cref(I): cross reference table tabs(VII): set tab stops on typewriter pow(III): take powers of numbers load DEC binary paper tapes...dli(VIII): pc(IV): punched paper tape tap(I): save, restore files on DECtape tap(V): DECtape and magtape format tc(IV): DECtape ttyn(III): find teletype name tty(I): find name of terminal kill(VIII): terminate a process exit(II): terminate execution ed(I): text editor proof(I): compare text files nroff(I): format text for printing roff(I): format text for printing time(I): get time information date(I): get date and time of day time(II): get time of year ctime(III): convert time to ASCII time(I): get time information time(II): get time of year times(II): get execution times times(II): get execution times ptime(III): print time stime(II): set system time tm 9-track magtape tmg(I): compile tmgl program tmg(I): compile tmgl program switch(III): transfer depending on value goto(I): command transfer cemt(II): catch EMT traps catch illegal instruction trap...ilgins(II): tss(I): communicate with MH-TSS (GCOS) greek(VII): extended TTY 37 typebox map tty(I): find name of terminal ttyn(III): find teletype name greek(VII): extended TTY 37 typebox map type(I): print file page-by-page stty(I): set typewriter modes gtty(II): get typewriter mode dc(IV): remote typewriter getty(VII): adapt to typewriter kl(IV): console typewriter mesg(III): print string on typewriter stty(II): set mode of typewriter tabs(VII): set tab stops on typewriter typo(I): find typographic errors typo(I): find typographic errors umount(II): dismount file system un(I): find undefined symbols un(I): find undefined symbols uniq(I): find duplicate lines in a file unlink(II): remove (delete) file du(I): find disk usage getuid(II): get user ID setuid(II): set user ID utmp(V): logged-in user information mail(I): send mail to another user write(I): write to another user utmp(V): logged-in user information transfer depending on value...switch(III): dcheck(VIII): verify directory hierarchy vs(I): generate voice synthesizer phonemes vsp(VII): voice synthesizer phonemes speak(I): send words to voice synthesizer vs(I): generate voice synthesizer phonemes vsp(VII): voice synthesizer phonemes vt(IV): storage-tube display wait(II): wait for process wait(II): wait for process wc(I): get (English) word count who(I): who is on the system who(I): who is on the system gerts(III): communicate with GCOS pr(I): print file with headings tss(I): communicate with MH-TSS (GCOS) wc(I): get (English) word count speak(I): send words to voice synthesizer hyphen(I): find hyphenated words putc(III): write character or word chdir(I): change working directory chdir(II): change working directory putc(III): write character or word write(II): write file seek(II): move read or write pointer write(I): write to another user write(I): write to another user write(II): write file wtmp(V): accounting files yacc(VI): yet another compiler-compiler time(II): get time of year yacc(VI): yet another compiler-compiler