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