'\" To get a copy of the front matter (intro, table of contents, '\" index), on your terminal, type: '\" nroff [ intro ] [ tocin ] [ ptxin ] '\" To typeset a copy via GCAT, use: '\" troff [ -rs1 ] -g [ intro ] [ tocin ] [ ptxin ] | gcat '\" ("-rs1" forces small -- 6x9 inches -- format). '\" If typesetter is on-line, omit the "-g" and the "| gcat". .bd S B 3 .nr )s 0 .if t .if \ns .nr )s 1\"register )s=1 iff troff & small format; 0 otherwise .nr )t 0 .if t .if !\ns .nr )t 1\"register )t=1 iff troff & large format; 0 otherwise .if \n()s \{.pl 9i . ll 4.75i . lt 4.75i . po .75i . ps 9 . vs 10 \} .if \n()t \{.pl 11i . ll 6.5i . lt 6.5i . po .463i . ps 10 . vs 12 \} .if n \{.pl 11i . ll 6.5i . lt 6.5i . po .463i ' br \} .ds Dt\" .ds Ed\" .ds ET\" .de HD .if t \{.po 0 . lt 7.5i . if \\n()s .tl @\l@0.25i@@@\l@0.25i@\h@1i@\l@0.25i@@ . if \\n()t .tl @\l@0.25i@@@\l@0.25i@@ . lt . po ' br \} .ie \\n()s 'sp 2v .el 'sp 3v .if e .tl @\s9\\*(ET\s0@@@ .if o .tl @@@\s9\\*(ET\s0@ .ie \\n()s 'sp 1.5v .el 'sp 3v .ns .. .de FO 'bp .. .wh 0 HD .if \n()s .wh -3.5v FO .if \n()t .wh -6v FO .if n .wh -7v FO .if \n(nl .bp .br .de PP .if n .sp .if t .sp .5v .ne 1.1v .. .hw print-out photo-type-setter .tr ~ .hy 0 .if t \{.ds ` `` . ds ' '' . ds d \- ' br \} .if n \{.ds ` "" . ds ' "" . ds d " -- \" . na . rm ad \} .br .rs .ce 1000 .if \n()t \{.sp |2.5i . ps 36 \h'.1m'\(bs . sp |4.2i . ps ' br \} .if \n()s .sp |3i .if n .sp |4.2i .ss 18 .ft 3 .ps 24 .vs 33p U\s-6NIX\s+6 User's Manual .ps .vs .sp 3.5v .ft .ps 14 Release 3.0 .if n .sp 4v .if t .sp 4v .ps 12 .vs 15p T. A. Dolotta .br S. B. Olsson .br A. G. Petruccelli .sp .5v .ce 1000 .if \n()t .vs 12p .if \n()s .vs 10p .ft I Editors .sp 4v .ft June 1980 .br .ps 10 .if n .sp \n(.tu-3v .if \n()t .sp \n(.tu-3v .if \n()s .sp \n(.tu-2.45v Laboratory 364 Bell Telephone Laboratories, Incorporated Murray Hill, \s-1NJ\s+1 07974 .br .ss 12 .rs .if n .sp |3i .if \n()t .sp |3i .if \n()s .sp |2.45i Copyright \fB\^\s+8\v'.25m'\(co\v'-.25m'\s-8\|\fP1980 Bell Telephone Laboratories, Inc. .sp 1.5v \s-1UNIX\s+1 is a Trademark of Bell Telephone Laboratories, Inc. .if n .sp |7.5i .if \n()t .sp |7.5i .if \n()s .sp |6.2i .ce 0 .if \n()s .nr }I 0.97i .if \n()t .nr }I 1.62i .ll -\n(}Iu .in +\n(}Iu .ft I This manual was set on an \s-1AUTOLOGIC\s+1, Inc. \s-1APS\s+1-5 phototypesetter driven by the \s-1TROFF\s+1 formatter operating under the \s-1UNIX\s+1 system.\p .in -\n(}Iu .ll +\n(}Iu .ft .hy 14 .pn 3\"ACKNOWLEDGEMENTS .bp .rs .if n .sp |3i .if \n()t .sp |3i .if \n()s .sp |2.46i .ce \f3ACKNOWLEDGEMENTS\fP .sp 1v The form and much of the content of this manual come from the \f2U\s-1NIX\s+1 Programmer's Manual\*dSeventh Edition\^\fP (Volume~1), developed by M. D. \%McIlroy. In addition, parts of the present manual's contents are descended from the \f2U\s-1NIX\s+1 Programmer's Manual\*dSixth Edition\^\fP by K. Thompson and D. M. Ritchie (Bell Laboratories, May 1975), the \f2U\s-1NIX/TS\s+1 User's Manual\*dEdition~1.1\^\fP by T. A. Dolotta and S. B. Olsson, eds. (Bell Laboratories, Jan. 1979), and the \f2P\s-1WB/UNIX\s+1 User's Manual\*dRelease~2.0\^\fP (Bell Laboratories, June 1979). P. E. Cannata and G. C. Vogel rewrote Section 2 for this edition. Many members of Centers 127 and 135, and of Laboratory 364 helped in the creation of this volume; their help is hereby gratefully acknowledged. .sp 1v .if n .ta 5.6i .if \n()t .ta 5.6i .if \n()s .ta 3.9i \f2Murray Hill, New Jersey\fP T.A.D. .br \^S.\|B.\^O. .br A.G.P. .br .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i .if \n()s \{.pl 9i . ll 4.75i . lt 4.75i . po .75i . ps 9 . vs 10 \} .if \n()t \{.pl 11i . ll 6.5i . lt 6.5i . po .463i . ps 10 . vs 12 \} .if n \{.pl 11i . ll 6.5i . lt 6.5i . po .463i \} .if !\ns .ds Ed UNIX \|Release \|3.0 .if !\ns .ds Dt June \|1980 .de FO .if \\n()s 'sp |\\n(.pu-1v-1p .if \\n()t 'sp |\\n(.pu-3v .if n 'sp |\\n(.pu-4v .if e .tl @\s9\\*(Dt@- % -@\\*(Ed\s0@ .if o .tl @\s9\\*(Ed@- % -@\\*(Dt\s0@ 'bp .. .pn 5\"INTRODUCTION .bp .ce \f3INTRODUCTION\fP .ds ET \s9\f2Introduction\fP\s0 .sp 1v This manual describes the features of \s-1UNIX\s+1. It provides neither a general overview of \s-1UNIX\s+1 (for that, see \*`The U\s-1NIX\s+1 Time-Sharing System,\*' \s-1\f2BSTJ\^\fP\s+1, Vol.~57, No.~6, Part~2, pp.~1905-29, by D.~M.~Ritchie and K.~Thompson), nor details of the implementation of the system (see \*`U\s-1NIX\s+1 Implementation,\*' \s-1\f2BSTJ\^\fP\s+1, same issue, pp.~1931-46). .PP Not all commands, features, and facilities described in this manual are available in every \s-1UNIX\s+1 system; for example, \f2yacc\^\fP(1) is usually not available in a \s-1UNIX\s+1 system running on a \s-1PDP\s+1-11/23. When in doubt, consult your system's administrator. .PP This manual is divided into eight sections, some containing inter-filed sub-classes: .PP .nf .ta 2m +\w'\1.~~'u +\w'1M.~~'u 1. Commands and Application Programs: 1. General-Purpose Commands. 1C. Communications Commands. 1G. Graphics Commands. 1M. System Maintenance Commands. 2. System Calls. 3. Subroutines: 3C. C and Assembler Library Routines. 3M. Mathematical Library Routines. 3S. Standard I/O Library Routines. 3X. Miscellaneous Routines. 4. Special Files. 5. File Formats. 6. Games. 7. Miscellaneous Facilities. 8. System Maintenance Procedures. .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i .PP .fi \f3Section~1\fP (\f2Commands and Application Programs\^\fP) describes programs intended to be invoked directly by the user or by command language procedures, as opposed to subroutines, which are intended to be called by the user's programs. Commands generally reside in the directory \f3/bin\fP (for \f3bin\^\fPary programs). Some programs also reside in \f3/usr/bin\fP, to save space in \f3/bin\fP. These directories are searched automatically by the command interpreter called the \f2shell\^\fP. Sub-class 1C contains communication programs such as \f2cu\^\fP, \f2dpr\^\fP, \f2fget\^\fP, etc. These entries may differ from system to system. Sub-class 1M contains system maintenance programs such as \f2fsck\^\fP, \f2mkfs\^\fP, etc., which generally reside in the directory \f3/etc\fP; these commands are not intended for use by the ordinary user due to their privileged nature. Some \s-1UNIX\s+1 systems have a directory called \f3/usr/lbin\fP, containing local commands. .PP \f3Section~2\fP (\f2System Calls\^\fP) describes the entries into the \s-1UNIX\s+1 supervisor, including the C language interface. .PP \f3Section~3\fP (\f2Subroutines\^\fP) describes the available subroutines. Their binary versions reside in various system libraries in the directories \f3/lib\fP and \f3/usr/lib\fP. See \f2intro\^\fP(3) for descriptions of these libraries and the files in which they are stored. .PP \f3Section~4\fP (\f2Special Files\^\fP) discusses the characteristics of each system file that actually refers to an input/output device. The names in this section generally refer to the Digital Equipment Corporation's device names for the hardware, rather than to the names of the special files themselves. .PP \f3Section~5\fP (\f2File Formats\^\fP) documents the structure of particular kinds of files; for example, the format of the output of the link editor is given in \f2a\^\fP\f3.\^\fP\f2out\^\fP(5). Excluded are files used by only one command (for example, the assembler's intermediate files). In general, the C language \f3struct\fP declarations corresponding to these formats can be found in the directories \f3/usr/include\fP and \f3/usr/include/sys\fP. .PP \f3Section~6\fP (\f2Games\^\fP) describes the games and educational programs that, as a rule, reside in the directory \f3/usr/games\fP. .PP \f3Section~7\fP (\f2Miscellaneous Facilities\^\fP) contains a variety of things. Included are descriptions of character sets, macro packages, etc. .PP \f3Section~8\fP (\f2System Maintenance Procedures\^\fP) discusses crash recovery and boot procedures, etc. Information in this section is not of great interest to most users. .PP Each section consists of a number of independent entries of a page or so each. The name of the entry appears in the upper corners of its pages. Entries within each section are alphabetized, with the exception of the introductory entry that begins each section. The page numbers of each entry start at 1. Some entries may describe several routines, commands, etc. In such cases, the entry appears only once, alphabetized under its \*`major\*' name. .PP All entries are based on a common format, not all of whose parts always appear: .PP .in +2m The \f3\s-1NAME\s+1\fP part gives the name(s) of the entry and briefly states its purpose. .PP The \f3\s-1SYNOPSIS\s+1\fP part summarizes the use of the program being described. A few conventions are used, particularly in Section~1 (\f2Commands\^\fP): .in +2m .PP \f3Boldface\fP strings are literals and are to be typed just as they appear. .PP \f2Italic\^\fP strings usually represent substitutable argument prototypes and program names found elsewhere in the manual (they are underlined in the typed version of the entries). .PP Square brackets \f3[\|]\fP around an argument prototype indicate that the argument is optional. When an argument prototype is given as \*`name\*' or \*`file\*', it always refers to a \f2file\^\fP name. .PP Ellipses \f3\^.\|.\|.\^\fP are used to show that the previous argument prototype may be repeated. .PP A final convention is used by the commands themselves. An argument beginning with a minus \f3\(mi\fP, plus \f3\(pl\fP, or equal sign \f3\(eq\fP is often taken to be 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 \f3\(mi\fP, \f3\(pl\fP, or \f3\(eq\fP. .PP .in -2m The \f3\s-1DESCRIPTION\s+1\fP part discusses the subject at hand. .PP The \f3\s-1EXAMPLE(S)\s+1\fP part gives example(s) of usage, where appropriate. .PP The \f3\s-1FILES\s+1\fP part gives the file names that are built into the program. .PP The \f3\s-1SEE ALSO\s+1\fP part gives pointers to related information. .PP The \f3\s-1DIAGNOSTICS\s+1\fP part discusses the diagnostic indications that may be produced. Messages that are intended to be self-explanatory are not listed. .PP The \f3\s-1WARNINGS\s+1\fP part points out potential pitfalls. .PP The \f3\s-1BUGS\s+1\fP part gives known bugs and sometimes deficiencies. Occasionally, the suggested fix is also described. .in -2m .PP A table of contents and a permuted index derived from that table precede Section~1. On each \f2index\^\fP line, the title of the entry to which that line refers is followed by the appropriate section number in parentheses. This is important because there is considerable duplication of names among the sections, arising principally from commands that exist only to exercise a particular system call. .PP On most systems, all entries are available \%on-line via the \f2man\^\fP(1) command, q.v. .if t .pn 7\"HOW TO GET STARTED .if n .pn 9\"HOW TO GET STARTED .ds ET\" .bp .ce \f3HOW~\|TO~\|GET~\|STARTED\fP .ds ET \s9\f2How To Get Started\fP\s0 .sp 1v This discussion provides the basic information you need to get started on \s-1UNIX\s+1: how to log in and log out, how to communicate through your terminal, and how to run a program. (See \f2U\s-1NIX\s+1 for Beginners\^\fP by B.~W. Kernighan for a more complete introduction to the system.) .PP \f3Logging in.\fP You must dial up \s-1UNIX\s+1 from an appropriate terminal. \s-1UNIX\s+1 supports full-duplex \s-1ASCII\s+1 terminals. You must also have a valid user name, which may be obtained (together with the telephone number(s) of your \s-1UNIX\s+1 system) from the administrator of your system. Common terminal speeds are 10, 15, 30, and 120 characters per second (110, 150, 300, and 1,200 baud); occasionally, speeds of 240, 480, and 960 characters per second (2,400, 4,800, and 9,600 baud) are also available. On some \s-1UNIX\s+1 systems, there are separate telephone numbers for each available terminal speed, while on other systems several speeds may be served by a single telephone number. In the latter case, there is one ``preferred'' speed; if you dial in from a terminal set to a different speed, you will be greeted by a string of meaningless characters (the \f3login:\fP message at the wrong speed). Keep hitting the ``break'' or ``attention'' key until the \f3login:\fP message appears. Hard-wired terminals usually are set to the correct speed. .PP Most terminals have a speed switch that should be set to the appropriate speed and a half-/full-duplex switch that should be set to full-duplex. When a connection (at the speed of the terminal) has been established, the system types \f3login:\fP and you then type your user name followed by the \*`return\*' key. If you have a password (and you should!), the system asks for it, but does not print (\*`echo\*') it on the terminal. After you have logged in, the \*`return\*', \*`new-line\*', and \*`line-feed\*' keys will give exactly the same result. .PP It is important that you type your login name in lower case if possible; if you type upper-case letters, \s-1UNIX\s+1 will assume that your terminal cannot generate lower-case letters and that you mean all subsequent upper-case input to be treated as lower case. When you have logged in successfully, the shell will type a \f3$\fP to you. (The shell is described below under \f2How to run a program.\^\fP) .PP For more information, consult \f2login\^\fP(1) and \f2getty\^\fP(8), which discuss the login sequence in more detail, and \f2stty\^\fP(1), which tells you how to describe the characteristics of your terminal to the system (\f2profile\^\fP(5) explains how to accomplish this last task automatically every time you log in). .PP \f3Logging out.\fP There are two ways to log out: .PP .in 2m+\w'1. 'u .ti -\w'1. 'u 1. You can simply hang up the phone. .br .ti -\w'1. 'u 2. You can log out by typing an end-of-file indication (\s-1ASCII\s+1 \s-1\f3EOT\fP\s+1 character, usually typed as \*`control-d\*') to the shell. The shell will terminate and the \f3login:\fP message will appear again. .in -2m+\w'1. 'u .PP \f3How to communicate through your terminal.\fP When you type to \s-1UNIX\s+1, a gnome deep in the system is gathering your characters and saving them. These characters will not be given to a program until you type a \*`return\*' (or \*`new-line\*'), as described above in \f2Logging in.\^\fP .PP \s-1UNIX\s+1 terminal input/output is full-duplex. It has full read-ahead, which means that you can type at any time, even while a program is typing at you. Of course, if you type during output, the output will have interspersed in it the input characters. However, whatever you type will be saved and interpreted in the correct sequence. There is a limit to the amount of read-ahead, but it is generous and not likely to be exceeded unless the system is in trouble. When the read-ahead limit is exceeded, the system throws away \f2all\^\fP the saved characters. .PP On an input line from a terminal, the character \f3@\fP ``kills'' all the characters typed before it. The character \f3#\fP erases the last character typed. Successive uses of \f3#\fP will erase characters back to, but not beyond, the beginning of the line; \f3@\fP and \f3#\fP can be typed as themselves by preceding them with \f3\e\fP (thus, to erase a \f3\e\fP, you need two \f3#\fPs). These default erase and kill characters can be changed; see \fIstty\fR(1). .PP The \s-1ASCII\s+1 \s-1\f3DC3\fP\s+1 (control-s) character can be used to temporarily stop output. It is useful with \s-1CRT\s+1 terminals to prevent output from disappearing before it can be read. Output is resumed when a \s-1\f3DC1\fP\s+1 (control-q) or a second \s-1\f3DC3\fP\s+1 (or any other character, for that matter) is typed. The \s-1\f3DC1\fP\s+1 and \s-1\f3DC3\fP\s+1 characters are not passed to any other program when used in this manner. .PP The \s-1ASCII\s+1 \s-1\f3DEL\fP\s+1 (a.k.a. \*`rubout\*') character is not passed to programs, but instead generates an \f2interrupt signal,\^\fP just like the \*`break\*', \*`interrupt\*', or \*`attention\*' signal. This signal generally causes whatever program you are running to terminate. It is typically used to stop a long printout that you don't want. However, programs can arrange either to ignore this signal altogether, or to be notified when it happens (instead of being terminated). The editor \f2ed\^\fP(1), for example, catches interrupts and stops what \f2it\^\fP is doing, instead of terminating, so that an interrupt can be used to halt an editor printout without losing the file being edited. .PP The \f2quit\^\fP signal is generated by typing the \s-1ASCII\s+1 \s-1\f3FS\fP\s+1 character. It not only causes a running program to terminate, but also generates a file with the ``core image'' of the terminated process. \f2Quit\^\fP is useful for debugging. .PP Besides adapting to the speed of the terminal, \s-1UNIX\s+1 tries to be intelligent as to whether you have a terminal with the \*`new-line\*' function, or whether it must be simulated with a \*`carriage-return\*' and \*`line-feed\*' pair. In the latter case, all \f2input\^\fP \*`carriage-return\*' characters are changed to \*`line-feed\*' characters (the standard line delimiter), and a \*`carriage-return\*' and \*`line-feed\*' pair is echoed to the terminal. If you get into the wrong mode, the \f2stty\^\fP(1) command will rescue you. .PP Tab characters are used freely in \s-1UNIX\s+1 source programs. If your terminal does not have the tab function, you can arrange to have tab characters changed into spaces during output, and echoed as spaces during input. Again, the \f2stty\^\fP(1) command will set or reset this mode. The system assumes that tabs are set every eight character positions. The \f2tabs\^\fP(1) command will set tab stops on your terminal, if that is possible. .PP \f3How to run a program.\fP When you have successfully logged into \s-1UNIX\s+1, a program called the shell is listening to your terminal. The shell reads the lines you type, splits them into a command name and its arguments, and executes the command. A command is simply an executable program. Normally, the shell looks first in your current directory (see \f2The current directory\^\fP below) for a program with the given name, and if none is there, then in system directories. There is nothing special about system-provided commands except that they are kept in directories where the shell can find them. You can also keep commands in your own directories and arrange for the shell to find them there. .PP The command name is the first word on an input line to the shell; the command and its arguments are separated from one another by space and/or tab characters. .PP When a program terminates, the shell will ordinarily regain control and type a \f3$\fP at you to indicate that it is ready for another command. The shell has many other capabilities, which are described in detail in \f2sh\^\fP(1). .PP \f3The current directory.\fP \s-1UNIX\s+1 has a file system arranged in a hierarchy of directories. When the system administrator gave you a user name, he or she also created a directory for you (ordinarily with the same name as your user name, and known as your \f2login\^\fP or \fIhome\^\fP directory). When you log in, that directory becomes your \f2current\^\fP or \f2working\^\fP directory, and any file name you type is by default assumed to be in that directory. Because you are the owner of this directory, you have full permissions to read, write, alter, or destroy its contents. Permissions to have your will with other directories and files will have been granted or denied to you by their respective owners, or by the system administrator. To change the current directory use \f2cd\^\fP(1). .PP \f3Path names.\fP To refer to files not in the current directory, you must use a path name. Full path names begin with \f3/\fP, which is the name of the \f2root\^\fP directory of the whole file system. After the slash comes the name of each directory containing the next sub-directory (followed by a \f3/\fP), until finally the file name is reached (e.g., \f3/usr/ae/filex\fP refers to file \f3filex\fP in directory \f3ae\fP, while \f3ae\fP is itself a subdirectory of \f3usr\fP\^; \f3usr\fP springs directly from the root directory). See \f2intro\^\fP(2) for a formal definition of \f2path name\^\fP. .PP If your current directory contains subdirectories, the path names of files therein begin with the name of the corresponding subdirectory (\f2without\^\fP a prefixed \f3/\fP). Without important exception, a path name may be used anywhere a file name is required. .PP Important commands that modify the contents of files are \f2cp\^\fP(1), \f2mv\^\fP(1), and \f2rm\^\fP(1), which respectively copy, move (i.e., rename), and remove files. To find out the status of files or directories, use \f2ls\^\fP(1). Use \f2mkdir\^\fP(1) for making directories and \f2rmdir\^\fP(1) for destroying them. .PP For a fuller discussion of the file system, see the references cited at the beginning of the \s-1\f2INTRODUCTION\^\fP\s+1 above. It may also be useful to glance through Section~2 of this manual, which discusses system calls, even if you don't intend to deal with the system at that level. .PP \f3Writing a program.\fP To enter the text of a source program into a \s-1UNIX\s+1 file, use \f2ed\^\fP(1). The four principal languages available under \s-1UNIX\s+1 are C (see \f2cc\^\fP(1)), Fortran (see \f2f77\^\fP(1)), bs (a compiler/interpreter in the spirit of Basic, see \f2bs\^\fP(1)), and assembly language (see \f2as\^\fP(1)). After the program text has been entered with the editor and written into a file (whose name has the appropriate suffix), you can give the name of that file to the appropriate language processor as an argument. Normally, the output of the language processor will be left in a file in the current directory named \f3a.out\fP (if that output is precious, use \f2mv\^\fP(1) to give it a less vulnerable name). If the program is written in assembly language, you will probably need to load with it library subroutines (see \f2ld\^\fP(1)). Fortran and C call the loader automatically; programs written in \f2bs\^\fP(1) are interpreted and, therefore, do not need to be loaded. .PP When you have finally gone through this entire process without provoking any diagnostics, the resulting program can be run by giving its name to the shell in response to the \f3$\fP prompt. .PP If any execution (run-time) errors occur, you will need \f2adb\^\fP(1) to examine the remains of your program. On the \s-1VAX\s+1-11/780, a second debugger \f2sdb\^\fP(1), which allows you to step through C statements rather than assembler instructions, is available. .PP Your programs can receive arguments from the command line just as system programs do; see \f2exec\^\fP(2). .PP \f3Text processing.\fP Almost all text is entered through the editor \f2ed\^\fP(1). The commands most often used to write text on a terminal are \f2cat\^\fP(1), \f2pr\^\fP(1), and \f2nroff\^\fP(1). The \f2cat\^\fP(1) command simply dumps \s-1ASCII\s+1 text on the terminal, with no processing at all. The \f2pr\^\fP(1) command paginates the text, supplies headings, and has a facility for multi-column output. \f2Nroff\^\fP(1) is an elaborate text formatting program, and requires careful forethought in entering both the text and the formatting commands into the input file; it produces output on a typewriter-like terminal. \f2Troff\^\fP(1) is very similar to \f2nroff\^\fP(1), but produces its output on a .if t phototypesetter (it was used to typeset this manual). .if n phototypesetter. There are several ``macro'' packages (especially the so-called \f2mm\^\fP package) that significantly ease the effort required to use \f2nroff\^\fP(1) and \f2troff\^\fP(1); Section~7 entries for these packages indicate where you can find their detailed descriptions. .PP \f3Surprises.\fP Certain commands provide \f2inter-user\^\fP communication. Even if you do not plan to use them, it would be well to learn something about them, because someone else may aim them at you. To communicate with another user currently logged in, \f2write\^\fP(1) is used; \f2mail\^\fP(1) will leave a message whose presence will be announced to another user when he or she next logs in. The corresponding entries in this manual also suggest how to respond to these two commands if you are their target. .PP When you log in, a message-of-the-day may greet you before the first \f3$\fP.