UNIX PROGRAMMER'S MANUAL Second Edition K. Thompson D. M. Ritchie June 12, 1972 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 Second Edition In the months since this manual first appeared, 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, and J. F. Ossanna for their contributions. Finally, the number of UNIX installations has grown to 10, 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. One area to watch concerns commands which deal with sepcial files (I/O devices). Another is places which talk about such things as absolute core locations which are likely to vary with the memory configuration and existence of protection hard- ware. Also, not all installations have the latest versions of all the software. In particular, the assembler and loader have just undergone major reorganization in anticipation of a UNIX for the PDP-11/45. INTRODUCTION 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 seven sections: I. Commands II. System calls III. Subroutines IV. Special files V. File formats VI. User-maintained programs VII. Miscellaneous 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. 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. Each section consists of a number of independent entries of a page or so each. The name of the entry is in the upper right corner of its pages, its preparation date in the upper left. En- tries within each section are alphabetized. It was thought bet- ter to avoid running page numbers, since it is hoped that the manual will be updated frequently. Therefore each entry is num- bered starting at page 1. 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. The owner section gives the name of the person or persons to be consulted in case of difficulty. The rule has been that the last one to modify something owns it, so the owner is not necessarily the author. The owner's nicknames stand for: ken K. Thompson dmr D. M. Ritchie jfo J. F. Ossanna rhm R. Morris doug M. D. McIlroy lem L. E. McMahon llc L. L. Cherry csr C. S. Roberts These nicknames also happen to be UNIX user ID's, so mes- sages may be transmitted by the mail command or, if the ad- dressee is logged in, by write. 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. TABLE OF CONTENTS I. COMMANDS : ............................ place label acct ......................... get connect-time accounting ar ........................... archive (combine) files as ........................... assembler bas .......................... BASIC dialect cat .......................... concatenate (or print) files cc ........................... compile C program chdir ........................ change working directory check ........................ check consistency of file system chmod ........................ change access mode of files chown ........................ change owner of files cmp .......................... compare file contents cp ........................... copy file date ......................... get date and time of day db ........................... symbolic debugger dc ........................... desk calculator df ........................... find free disk space dpd .......................... spawn data-phone daemon ds ........................... verify directory hierarchy dsw .......................... delete files interactively du ........................... find disk usage echo ......................... print command arguments ed ........................... text editor exit ......................... end command sequence fc ........................... compile Fortran program fed .......................... form-letter editor find ......................... find file with given name form ......................... generate form letter goto ......................... command transfer if ........................... conditional command istat ........................ file status by i-number ld ........................... link editor (loader) ln ........................... link to file login ........................ log on to system ls ........................... list contents of directory mail ......................... send mail to another user man .......................... run off manual section mesg ......................... permit or deny messages mkdir ........................ create directory mount ........................ mount removable file system mt ........................... save/restore files on magtape mv ........................... move or rename file m6 ........................... macroprocessor nm ........................... print namelist nroff ........................ format text for printing od ........................... octal dump of file opr .......................... print file off-line ov ........................... page overlay file print pr ........................... print file with headings rew .......................... rewind DECtape rm ........................... remove (delete) file rmdir ........................ remove (delete) directory roff ......................... format text for printing salv ......................... repair damaged file system sh ........................... command interpreter sort ......................... sort ASCII file stat ......................... get file status strip ........................ remove symbols, relocation bits stty ......................... set typewriter modes su ........................... become super-user sum .......................... sum file tacct ........................ connect-time accounting tap .......................... manipulate DECtape tm ........................... get time information tss .......................... communicate with MH-TSS (GCOS) tty .......................... find name of terminal type ......................... print file page-by-page umount ....................... dismount removable file system un ........................... find undefined symbols wc ........................... get (English) word count who .......................... who is on the system write ........................ write to another user II. SYSTEM CALLS 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 exec ......................... execute program file exit ......................... terminate execution fork ......................... create new process fstat ........................ status of open file getuid ....................... get user ID gtty ......................... get typewriter mode hog .......................... set low-priority status ilgins ....................... catch illegal instruction trap intr ......................... catch or inhibit interrupts link ......................... link to file kill ......................... destroy process makdir ....................... create directory mdate ........................ set date modified of file mount ........................ mount file system open ......................... open file quit ......................... catch or 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 tell ......................... find read or write pointer time ......................... get time of year 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 const ........................ floating-point constants ctime ........................ convert time to ASCII exp .......................... exponential function fptrap ....................... floating-point simulator ftoa ......................... convert floating to ASCII 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 ptime ........................ print time putc ......................... write character or word qsort ........................ quicker sort salloc ....................... storage allocator sin .......................... sine, cosine sqrt ......................... square root switch ....................... transfer depending on value IV. SPECIAL FILES dn0 .......................... 801 ACU dp0 .......................... 201 Dataphone lpr .......................... line printer mem .......................... core memory mt0........................... magtape ppt .......................... punched paper tape rf0 .......................... RF disk rk0 .......................... RK disk rp0 .......................... RP disk tap0 ......................... DECtape tty .......................... console typewriter tty0 ......................... remote typewriter V. FILE FORMATS a.out ........................ assembler and loader output archive ...................... archive file core ......................... core image file directory .................... directory format file system .................. file system format ident ........................ GCOS ident cards passwd ....................... password file tap .......................... DECtape format uids ......................... map names to user ID's utmp ......................... logged-in user information wtmp ......................... accounting files VI. USER MAINTAINED PROGRAMS basic ........................ DEC supplied BASIC bc ........................... compile B program bj ........................... the game of blackjack cal .......................... print calender chash ........................ prepare symbol table cref ......................... cross reference table das .......................... disassembler dli .......................... load DEC binary paper tapes dpt .......................... read DEC ASCII paper tapes moo .......................... the game of MOO ptx .......................... permuted index tmg .......................... compile tmgl program ttt .......................... the game of tic-tac-toe VII. MISCELLANEOUS ascii ........................ map of ASCII bproc ........................ boot procedure getty ........................ adapt to typewriter glob ......................... argument expander init ......................... initializer process kbd .......................... map of TTY 37 keyboard login ........................ how to log onto system msh .......................... mini Shell tabs ......................... set tab stops on typewriter INDEX dp0(IV): 201 Dataphone dn0(IV): 801 ACU chmod(I): change access mode of files wtmp(V): accounting files acct(I): get connect-time accounting tacct(I): connect-time accounting acct(I): get connect-time accounting dn0(IV): 801 ACU getty(VII): adapt to typewriter salloc(III): storage allocator mail(I): send mail to another user write(I): write to another user a.out(V): assembler and loader output 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 dpt(VI): read DEC ASCII paper tapes atof(III): convert ASCII to floating atoi(III): convert ASCII to integer ascii(VII): map of ASCII ctime(III): convert time to ASCII ftoa(III): convert floating to ASCII itoa(III): convert integer to ASCII ascii(VII): map of 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 basic(VI): DEC supplied BASIC basic(VI): DEC supplied BASIC bc(VI): compile B program su(I): become super-user dli(VI): load DEC binary paper tapes strip(I): remove symbols, relocation bits bj(VI): the game of blackjack bj(VI): the game of blackjack bproc(VII): boot procedure bproc(VII): boot procedure break(II): set program break break(II): set program break istat(I): file status by i-number cc(I): compile C program dc(I): desk calculator cal(VI): print calender cal(VI): print calender ident(V): GCOS ident cards cemt(II): catch EMT traps ilgins(II): catch illegal instruction trap intr(II): catch or inhibit interrupts quit(II): catch or inhibit quits cat(I): concatenate (or print) files cc(I): compile C program cemt(II): catch EMT traps chmod(I): change access mode of files chmod(II): change mode of file chown(II): change owner of file chown(I): change owner of files chdir(I): change working directory chdir(II): change working directory putc(III): write character or word getc(III): get character chash(VI): prepare symbol table chdir(I): change working directory chdir(II): change working directory check(I): check consistency of file system check(I): check consistency of file system 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 close(II): close open file close(II): close open file 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 bc(VI): compile B program cc(I): compile C program fc(I): compile Fortran program tmg(VI): compile tmgl program hypot(III): compute hypotenuse cat(I): concatenate (or print) files if(I): conditional command acct(I): get connect-time accounting tacct(I): connect-time accounting check(I): check consistency of file system tty(IV): console typewriter const(III): floating-point constants const(III): floating-point constants ls(I): list contents of directory cmp(I): compare file contents atof(III): convert ASCII to floating atoi(III): convert ASCII to integer ftoa(III): convert floating to ASCII 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(VI): cross reference table cref(VI): cross reference table ctime(III): convert time to ASCII dpd(I): spawn data-phone daemon salv(I): repair damaged file system das(VI): disassembler dpd(I): spawn data-phone daemon dp0(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 dc(I): desk calculator db(I): symbolic debugger dpt(VI): read DEC ASCII paper tapes dli(VI): load DEC binary paper tapes basic(VI): DEC supplied BASIC tap(V): DECtape format rew(I): rewind DECtape tap0(IV): DECtape tap(I): manipulate DECtape sleep(II): delay execution rmdir(I): remove (delete) directory rm(I): remove (delete) file dsw(I): delete files interactively 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 ds(I): verify directory hierarchy 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 directory(V): directory format das(VI): disassembler df(I): find free disk space du(I): find disk usage rf0(IV): RF disk rk0(IV): RK disk rp0(IV): RP disk umount(II): dismount file system umount(I): dismount removable file system dli(VI): load DEC binary paper tapes dn0(IV): 801 ACU dp0(IV): 201 Dataphone dpd(I): spawn data-phone daemon dpt(VI): read DEC ASCII paper tapes ds(I): verify directory hierarchy dsw(I): delete files interactively du(I): find disk usage od(I): octal dump of file echo(I): print command arguments ed(I): text editor ld(I): link editor (loader) ed(I): text editor fed(I): form-letter editor log(III): logarithm base e cemt(II): catch EMT traps exit(I): end command sequence wc(I): get (English) word count exec(II): execute program file exec(II): execute program file 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 fc(I): compile Fortran program fed(I): form-letter editor cmp(I): compare file contents opr(I): print file off-line type(I): print file page-by-page ov(I): page overlay file print istat(I): file status by i-number stat(I): get file status stat(II): get file status file system(V): file system format check(I): check consistency of file system mount(I): mount removable file system mount(II): mount file system salv(I): repair damaged file system umount(I): dismount removable file system umount(II): dismount file system file system(V): file system format pr(I): print file with headings 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 exec(II): execute program file fstat(II): status of open file link(II): link to file ln(I): link to file mdate(II): set date modified of file 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 dsw(I): delete files interactively mt(I): save/restore files on magtape ar(I): archive (combine) files cat(I): concatenate (or print) files chmod(I): change access mode of files chown(I): change owner of files sort(I): sort ASCII file sum(I): sum file wtmp(V): accounting files unlink(II): remove (delete) file write(II): write file du(I): find disk usage df(I): find free disk space tty(I): find name of terminal tell(II): find read or write pointer un(I): find undefined symbols ftoa(III): convert floating to ASCII atof(III): convert ASCII to floating const(III): floating-point constants fptrap(III): floating-point simulator fork(II): create new process 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 format form(I): generate form letter fed(I): form-letter editor fc(I): compile Fortran program fptrap(III): floating-point simulator df(I): find free disk space fstat(II): status of open file ftoa(III): convert floating to ASCII exp(III): exponential function bj(VI): the game of blackjack moo(VI): the game of MOO ttt(VI): the game of tic-tac-toe ident(V): GCOS ident cards gerts(III): communicate with GCOS tss(I): communicate with MH-TSS (GCOS) form(I): generate form letter gerts(III): communicate with GCOS getc(III): get character acct(I): get connect-time accounting date(I): get date and time of day wc(I): get (English) word count stat(I): get file status stat(II): get file status tm(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 gtty(II): get typewriter mode pr(I): print file with headings ds(I): verify directory hierarchy hog(II): set low-priority status hypot(III): compute hypotenuse hypot(III): compute hypotenuse :(I): place label ident(V): GCOS ident cards ident(V): GCOS ident cards getuid(II): get user ID setuid(II): set user ID uids(V): map names to user ID's if(I): conditional command ilgins(II): catch illegal instruction trap ilgins(II): catch illegal instruction trap core(V): core image file ptx(VI): permuted index tm(I): get time information utmp(V): logged-in user information intr(II): catch or inhibit interrupts quit(II): catch or 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 dsw(I): delete files interactively sh(I): command interpreter intr(II): catch or inhibit interrupts intr(II): catch or inhibit interrupts istat(I): file status by i-number istat(I): file status by i-number itoa(III): convert integer to ASCII kill(II): destroy process :(I): place label ld(I): link editor (loader) form(I): generate form letter lpr(IV): line printer 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(VI): 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 login(I): log on to system hog(II): set low-priority status lpr(IV): line printer ls(I): list contents of directory m6(I): macroprocessor m6(I): macroprocessor mt0 magtape mt(I): save/restore files on 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 tap(I): manipulate DECtape man(I): run off manual section uids(V): map names to user ID's ascii(VII): map of ASCII 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) mkdir(I): create directory chmod(II): change mode of file chmod(I): change access mode of files stty(II): set mode of typewriter gtty(II): get typewriter mode stty(I): set typewriter modes mdate(II): set date modified of file moo(VI): the game of MOO moo(VI): the game of MOO mount(II): mount file system mount(I): mount removable file system mount(I): mount removable file system mount(II): mount file system mv(I): move or rename file seek(II): move read or write pointer mt0 magtape 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 uids(V): map names to user ID's fork(II): create new process nlist(III): read name list nm(I): print namelist nroff(I): format text for printing od(I): octal dump of file od(I): octal dump of file man(I): run off manual section opr(I): print file off-line close(II): close open file fstat(II): status of open file open(II): open file open(II): open file opr(I): print file off-line cat(I): concatenate (or print) files a.out(V): assembler and loader output ov(I): page overlay file print ov(I): page overlay file print chown(II): change owner of file chown(I): change owner of files ov(I): page overlay file print type(I): print file page-by-page ppt(IV): punched paper tape dli(VI): load DEC binary paper tapes dpt(VI): read DEC ASCII paper tapes passwd(V): password file passwd(V): password file mesg(I): permit or deny messages ptx(VI): permuted index :(I): place label seek(II): move read or write pointer tell(II): find read or write pointer ppt(IV): punched paper tape chash(VI): prepare symbol table pr(I): print file with headings cal(VI): print calender echo(I): print command arguments opr(I): print file off-line type(I): print file page-by-page pr(I): print file with headings cat(I): concatenate (or print) files nm(I): print namelist mesg(III): print string on typewriter ptime(III): print time lpr(IV): line printer nroff(I): format text for printing roff(I): format text for printing ov(I): page overlay file print bproc(VII): boot procedure fork(II): create new process init(VII): initializer process kill(II): destroy process rele(II): release processor wait(II): wait for process break(II): set program break exec(II): execute program file bc(VI): compile B program cc(I): compile C program fc(I): compile Fortran program tmg(VI): compile tmgl program ptime(III): print time ptx(VI): permuted index ppt(IV): punched paper tape putc(III): write character or word qsort(III): quicker sort qsort(III): quicker sort quit(II): catch or inhibit quits quit(II): catch or inhibit quits dpt(VI): read DEC ASCII paper tapes read(II): read file nlist(III): read name list seek(II): move read or write pointer tell(II): find read or write pointer read(II): read file cref(VI): cross reference table rele(II): release processor rele(II): release processor strip(I): remove symbols, relocation bits tty0(IV): remote typewriter mount(I): mount removable file system umount(I): dismount 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(I): repair damaged file system rew(I): rewind DECtape rew(I): rewind DECtape rf0(IV): RF disk rf0(IV): RF disk rk0(IV): RK disk rk0(IV): RK disk rmdir(I): remove (delete) directory rm(I): remove (delete) file roff(I): format text for printing sqrt(III): square root rp0(IV): RP disk rp0(IV): RP disk man(I): run off manual section salloc(III): storage allocator salv(I): repair damaged file system 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 exit(I): end command sequence mdate(II): set date modified of file hog(II): set low-priority status stty(II): set mode of typewriter break(II): set program break stime(II): set system time stty(I): set typewriter modes setuid(II): set user ID setuid(II): set user ID sh(I): command interpreter fptrap(III): floating-point simulator sin(III): sine, cosine sin(III): sine, cosine sleep(II): delay execution sort(I): sort ASCII file sort(I): sort ASCII file qsort(III): quicker sort df(I): find free disk space dpd(I): spawn data-phone daemon sqrt(III): square root sqrt(III): square root stat(I): get file status stat(II): get file status istat(I): file status by i-number fstat(II): status of open file hog(II): set low-priority status stat(I): get file status stat(II): get file status stime(II): set system time salloc(III): storage allocator mesg(III): print string on typewriter strip(I): remove symbols, relocation bits stty(I): set typewriter modes stty(II): set mode of typewriter su(I): become super-user sum(I): sum file sum(I): sum file su(I): become super-user basic(VI): DEC supplied BASIC switch(III): transfer depending on value chash(VI): prepare symbol table db(I): symbolic debugger strip(I): remove symbols, relocation bits un(I): find undefined symbols sync(II): assure synchronization sync(II): assure synchronization file system(V): file system format stime(II): set system time check(I): check consistency of file system login(I): log on to system mount(I): mount removable file system mount(II): mount file system salv(I): repair damaged file system umount(I): dismount removable file system umount(II): dismount file system file system(V): file system format who(I): who is on the system chash(VI): prepare symbol table cref(VI): cross reference table tacct(I): connect-time accounting tap0(IV): DECtape ppt(IV): punched paper tape dli(VI): load DEC binary paper tapes dpt(VI): read DEC ASCII paper tapes tap(I): manipulate DECtape tap(V): DECtape format tell(II): find read or write pointer tty(I): find name of terminal exit(II): terminate execution ed(I): text editor nroff(I): format text for printing roff(I): format text for printing ttt(VI): the game of tic-tac-toe tm(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(II): get time of year ptime(III): print time stime(II): set system time tmg(VI): compile tmgl program tmg(VI): compile tmgl program tm(I): get time information switch(III): transfer depending on value goto(I): command transfer ilgins(II): catch illegal instruction trap cemt(II): catch EMT traps tss(I): communicate with MH-TSS (GCOS) ttt(VI): the game of tic-tac-toe tty0(IV): remote typewriter tty(I): find name of terminal tty(IV): console typewriter type(I): print file page-by-page gtty(II): get typewriter mode stty(I): set typewriter modes getty(VII): adapt to typewriter mesg(III): print string on typewriter stty(II): set mode of typewriter tty0(IV): remote typewriter tty(IV): console typewriter uids(V): map names to user ID's umount(I): dismount removable file system umount(II): dismount file system un(I): find undefined symbols un(I): find undefined symbols unlink(II): remove (delete) file du(I): find disk usage getuid(II): get user ID setuid(II): set user ID uids(V): map names to user ID's 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 switch(III): transfer depending on value ds(I): verify directory hierarchy 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 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 tell(II): find read or write pointer write(I): write to another user write(I): write to another user write(II): write file wtmp(V): accounting files time(II): get time of year