.\" $OpenBSD: u1,v 1.2 2003/08/09 09:00:14 jmc Exp $ .\" .\" Copyright (C) Caldera International Inc. 2001-2002. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code and documentation must retain the above .\" copyright notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed or owned by Caldera .\" International, Inc. .\" 4. Neither the name of Caldera International, Inc. nor the names of other .\" contributors may be used to endorse or promote products derived from .\" this software without specific prior written permission. .\" .\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA .\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT, .\" INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" @(#)u1 8.1 (Berkeley) 6/8/93 .\" .nr PS 9 .if t .nr VS 11 .if n .ls 2 .nr PI .25i .SH INTRODUCTION .PP From the user's point of view, the .UC UNIX operating system is easy to learn and use, and presents few of the usual impediments to getting the job done. It is hard, however, for the beginner to know where to start, and how to make the best use of the facilities available. The purpose of this introduction is to help new users get used to the main ideas of the .UC UNIX system and start making effective use of it quickly. .PP You should have a couple of other documents with you for easy reference as you read this one. The most important is .ul The .ul .UC UNIX .IT Programmer's .IT Manual \|; it's often easier to tell you to read about something in the manual than to repeat its contents here. The other useful document is .ul A Tutorial Introduction to the .ul .UC UNIX .ul Text Editor, which will tell you how to use the editor to get text \(em programs, data, documents \(em into the computer. .PP A word of warning: the .UC UNIX system has become quite popular, and there are several major variants in widespread use. Of course details also change with time. So although the basic structure of .UC UNIX and how to use it is common to all versions, there will certainly be a few things which are different on your system from what is described here. We have tried to minimize the problem, but be aware of it. In cases of doubt, this paper describes Version 7 .UC UNIX . .PP This paper has five sections: .IP "\ \ 1." Getting Started: How to log in, how to type, what to do about mistakes in typing, how to log out. Some of this is dependent on which system you log into (phone numbers, for example) and what terminal you use, so this section must necessarily be supplemented by local information. .IP "\ \ 2." Day-to-day Use: Things you need every day to use the system effectively: generally useful commands; the file system. .IP "\ \ 3." Document Preparation: Preparing manu\%scripts is one of the most common uses for .UC UNIX systems. This section contains advice, but not extensive instructions on any of the formatting tools. .IP "\ \ 4." Writing Programs: .UC UNIX is an excellent system for developing programs. This section talks about some of the tools, but again is not a tutorial in any of the programming languages provided by the system. .IP "\ \ 5." A .UC UNIX Reading List. An annotated bibliography of documents that new users should be aware of. .SH I. GETTING STARTED .SH Logging In .PP You must have a .UC UNIX login name, which you can get from whoever administers your system. You also need to know the phone number, unless your system uses permanently connected terminals. The .UC UNIX system is capable of dealing with a wide variety of terminals: Terminet 300's; Execuport, TI and similar portables; video (CRT) terminals like the HP2640, etc.; high-priced graphics terminals like the Tektronix 4014; plotting terminals like those from GSI and DASI; and even the venerable Teletype in its various forms. But note: .UC UNIX is strongly oriented towards devices with .ul lower case. If your terminal produces only upper case (e.g., model 33 Teletype, some video and portable terminals), life will be so difficult that you should look for another terminal. .PP Be sure to set the switches appropriately on your device. Switches that might need to be adjusted include the speed, upper/lower case mode, full duplex, even parity, and any others that local wisdom advises. Establish a connection using whatever magic is needed for your terminal; this may involve dialing a telephone call or merely flipping a switch. In either case, .UC UNIX should type .UL login: '' `` at you. If it types garbage, you may be at the wrong speed; check the switches. If that fails, push the ``break'' or ``interrupt'' key a few times, slowly. If that fails to produce a login message, consult a guru. .PP When you get a .UL login: message, type your login name .ul in lower case. Follow it by a .UC RETURN ; the system will not do anything until you type a .UC RETURN . If a password is required, you will be asked for it, and (if possible) printing will be turned off while you type it. Don't forget .UC RETURN . .PP The culmination of your login efforts is a ``prompt character,'' a single character that indicates that the system is ready to accept commands from you. The prompt character is usually a dollar sign .UL $ or a percent sign .UL % . (You may also get a message of the day just before the prompt character, or a notification that you have mail.) .SH Typing Commands .PP Once you've seen the prompt character, you can type commands, which are requests that the system do something. Try typing .P1 date .P2 followed by .UC RETURN. You should get back something like .P1 Mon Jan 16 14:17:10 EST 1978 .P2 Don't forget the .UC RETURN after the command, or nothing will happen. If you think you're being ignored, type a .UC RETURN ; something should happen. .UC RETURN won't be mentioned again, but don't forget it \(em it has to be there at the end of each line. .PP Another command you might try is .UL who , which tells you everyone who is currently logged in: .P1 who .P2 gives something like .P1 .ta .5i 1i mb tty01 Jan 16 09:11 ski tty05 Jan 16 09:33 gam tty11 Jan 16 13:07 .P2 The time is when the user logged in; ``ttyxx'' is the system's idea of what terminal the user is on. .PP If you make a mistake typing the command name, and refer to a non-existent command, you will be told. For example, if you type .P1 whom .P2 you will be told .P1 whom: not found .P2 Of course, if you inadvertently type the name of some other command, it will run, with more or less mysterious results. .SH Strange Terminal Behavior .PP Sometimes you can get into a state where your terminal acts strangely. For example, each letter may be typed twice, or the .UC RETURN may not cause a line feed or a return to the left margin. You can often fix this by logging out and logging back in.\(dg .FS \(dg In Berkeley Unix, the command "reset" will often reset a terminal apparently in a strange state because a fullscreen editor crashed. .FE Or you can read the description of the command .UL stty in section 1 of the manual. To get intelligent treatment of tab characters (which are much used in .UC UNIX ) if your terminal doesn't have tabs, type the command .P1 stty \-tabs .P2 and the system will convert each tab into the right number of blanks for you. .SH Mistakes in Typing .PP If you make a typing mistake, and see it before .UC RETURN has been typed, there are two ways to recover. The sharp-character .UL # erases the last character typed; in fact successive uses of .UL # erase characters back to the beginning of the line (but not beyond). So if you type badly, you can correct as you go: .P1 dd#atte##e .P2 is the same as .UL date .\(dd .FS \(dd Many installations set the erase character for display terminals to the delete or backspace key. "stty all" tells you what it actually is. .FE .PP The at-sign .UL @ erases all of the characters typed so far on the current input line, so if the line is irretrievably fouled up, type an .UL @ and start the line over. .PP What if you must enter a sharp or at-sign as part of the text? If you precede either .UL # or .UL @ by a backslash .UL \e , it loses its erase meaning. So to enter a sharp or at-sign in something, type .UL \e# or .UL \e@ . The system will always echo a newline at you after your at-sign, even if preceded by a backslash. Don't worry \(em the at-sign has been recorded. .PP To erase a backslash, you have to type two sharps or two at-signs, as in .UL \e## . The backslash is used extensively in .UC UNIX to indicate that the following character is in some way special. .SH Read-ahead .PP .UC UNIX has full read-ahead, which means that you can type as fast as you want, whenever you want, even when some command is typing at you. If you type during output, your input characters will appear intermixed with the output characters, but they will be stored away and interpreted in the correct order. So you can type several commands one after another without waiting for the first to finish or even begin. .SH Stopping a Program .PP You can stop most programs by typing the character .UC DEL '' `` (perhaps called ``delete'' or ``rubout'' on your terminal). The ``interrupt'' or ``break'' key found on most terminals can also be used.\(dg .FS \(dg In Berkeley Unix, "control-c" is the usual way to stop programs. "stty all" tells you the value of your "intr" key. .FE In a few programs, like the text editor, .UC DEL stops whatever the program is doing but leaves you in that program. Hanging up the phone will stop most programs.\(dd .FS \(dd In most modern shells, programs running in the background continue running even if you hang up. .FE .SH Logging Out .PP The easiest way to log out is to hang up the phone. You can also type .P1 login .P2 and let someone else use the terminal you were on.* .FS * "control-d" and "logout" are other alternatives. .FE It is usually not sufficient just to turn off the terminal. Most .UC UNIX systems do not use a time-out mechanism, so you'll be there forever unless you hang up. .SH Mail .PP When you log in, you may sometimes get the message .P1 You have mail. .P2 .UC UNIX provides a postal system so you can communicate with other users of the system. To read your mail, type the command .P1 mail .P2 The headers of your mail will be printed, in the order of their receipt. A message can be read with the .UL print command, or specified directly by number. Other commands are described in the manual. (Earlier versions of .UL mail do not process one message at a time, but are otherwise similar.) .PP How do you send mail to someone else? Suppose it is to go to ``joe'' (assuming ``joe'' is someone's login name). The easiest way is this: .P1 mail joe .ft I now type in the text of the letter on as many lines as you like ... After the last line of the letter type the character ``.'', alone on the last line, like so: \&. .P2 And that's it. .PP For practice, send mail to yourself. (This isn't as strange as it might sound \(em mail to oneself is a handy reminder mechanism.) .PP There are other ways to send mail \(em you can send a previously prepared letter, and you can mail to a number of people all at once. For more details, see .UL mail (1). (The notation .UL mail (1) means the command .UL mail in section 1 of the .ul .UC UNIX .ul .IT Programmer's .IT Manual .) .SH Writing to other users\(dg .FS \(dg Although "write" works on Berkeley .UC UNIX, there is a much nicer way of communicating using display-terminals \(em "talk" splits the screen into two sections, and both of you can type simultaneously (see talk(1)). .FE .PP At some point, out of the blue will come a message like .P1 Message from joe tty07... .P2 accompanied by a startling beep. It means that Joe wants to talk to you, but unless you take explicit action you won't be able to talk back. To respond, type the command .P1 write joe .P2 This establishes a two-way communication path. Now whatever Joe types on his terminal will appear on yours and vice versa. The path is slow, rather like talking to the moon. (If you are in the middle of something, you have to get to a state where you can type a command. Normally, whatever program you are running has to terminate or be terminated. If you're editing, you can escape temporarily from the editor \(em read the editor tutorial.) .PP A protocol is needed to keep what you type from getting garbled up with what Joe types. Typically it's like this: .P1 .tr -- .fi .ft R Joe types .UL write .UL smith and waits. .br Smith types .UL write .UL joe and waits. .br Joe now types his message (as many lines as he likes). When he's ready for a reply, he signals it by typing .UL (o) , which stands for ``over''. .br Now Smith types a reply, also terminated by .UL (o) . .br This cycle repeats until someone gets tired; he then signals his intent to quit with .UL (oo) , for ``over and out''. .br To terminate the conversation, each side must type a ``control-d'' character alone on a line. When the other person types his ``control-d'', you will get the message .UL EOF on your terminal. .P2 .PP If you write to someone who isn't logged in, or who doesn't want to be disturbed, you'll be told. If the target is logged in but doesn't answer after a decent interval, simply type ``control-d''. .SH On-line Manual .PP The .ul .UC UNIX .ul Programmer's Manual is typically kept on-line. If you get stuck on something, and can't find an expert to assist you, you can print on your terminal some manual section that might help. This is also useful for getting the most up-to-date information on a command. To print a manual section, type ``man command-name''. Thus to read up on the .UL who command, type .P1 man who .P2 and, of course, .P1 man man .P2 tells all about the .UL man command. .SH Computer Aided Instruction .PP Your .UC UNIX system may have available a program called .UL learn , which provides computer aided instruction on the file system and basic commands, the editor, document preparation, and even C programming. Try typing the command .P1 learn .P2 If .UL learn exists on your system, it will tell you what to do from there.