Unix is at first very cryptic, but once you get the hang of it, it is great! Some commands you should probably check out: 0) Some stuff you have to know: everyone has a login name. my login name is ask1. everyone is at a machine. the machine that I am currently on is cec3. cec3's full name is cec3.wustl.edu. My email address is therefore ask1@cec3.wustl.edu. The "@" symbols is read as "at". If you wanted my email address within the Wash U area (ie from another machine that ends with wustl.edu), my email address is ask1@cec3. ask1@cec3.wustl.edu would work as well however. If I wanted to contact my friend at Georgia Tech who wrote renegade, I would have to know his login name and the full machine name (ie hydra.gatech.edu, not just hydra or hydra.gatech). Just keep in mind... you may have to enter the entire machine name if the destination user is at a machine outside of your domain (our domain is wustl.edu). 1) first and most important, learn how to use mail. All you usually have to do is type mail at the prompt to look at your mail. Once mail loads up, it should give you a list of numbers followed by the person that sent that message. Very simple... just hit the number of the message you want to read. Once you are done reading messages and you want to see the list of messages again, just type "h". if you want to delete a message after you are done reading it, just type "d ". to quit type "q". to reply, type "r ". If you want to send mail to someone, just type "mail @.." This can be done either from the unix prompt of the mail program. If you want to mail me, you can type: "mail ask1@cec1.wustl.edu" but since I am a local user (I am on cec just like you are), you can type "mail ask1". while entering messages, you can type: "~?" on a blank line for help. To end a message that you have started entering, hit ctrl-d. "pine" is another mail program available on most unix systems. It is menu driven and very easy to use. 2) Quick explanation of cec (around 1991/92): There are three machines for users, cec1, cec2, and cec3. They are physically separate machines but they share some hard drives (I will explain this in a minute). There are also three file servers: cec_macfs, cec_dosfs, and cec_userfs. These machines are physically separate and do not share any hard drives. All of these machines fit together very nicely for multiple platforms (ie you can logon to a dos machine, macintosh, or a unix terminal and get to any of the information you may have in your account). cec_macfs, cec_dosfs, and cec_userfs are all file servers. userfs is the fileserver that has all of your user files. Anything you may save in unix, Dos, or macs will be saved on this machine. The way this works is that cec1, cec2, and cec3 will mount (no sexual implication!) the hard drives on cec_userfs. When you login to your unix account on cec1 lets say, cec1 checks to make sure you exist on userfs and then goes to your directory on userfs and loads up your configuration files (kinda like autoexec.bat)... eventually you get a prompt. Hopefully that makes some sense. If anything is unclear, let me know! 2.1) Also, cec has a help system online. just type help and it should be self explanatory. Also, there is the command "man". You type "man " and it gives you info about the command. You already knew about this. 3) How to get around the file system: This is very similar to an MS-DOS system except: You can have 255 character file names. You have MUCH more flexibility with the security of your files. Some commands have changed. The commands are helpful (they all differ slightly from MSDOS commands, so check out he man pages by using them "man" command described above: "ls" -this command is comprable to the MSDOS command "dir" "cd" -change directory just like MSDOS "rm" - delete a file just like MSDOS "del" "mkdir" -like MSDOS "md" or "mkdir" "rmdir" -like MSDOS "rd" or "rmdir" "cp" -like MSDOS "copy" "cat" -like MSDOS "type" "mv" -like the new MSDOS 6.0 move command OR like the MSDOS command "ren". "chmod" -used to change file or directory permissions. This command is somewhat complex. You may never need to use this command. It is useful if you want someone else to be able to read something in your directory. 4) process management: Anything you run on unix is assigned a process ID. This is a number used to reference what ever you may be running. One process that will hopefully always be running is your shell. The shell is the thing that lets you talk to the computer. It gives you the unix prompt and lets you start and manage the processes. Chances are, your shell that you are running is tcsh (default for cec). Some commands you should probably know: "ps" -lists all tasks (with their respective process ID's) that you are currently running. This command can also list any task running on the machine you are logged in on. See man pages for more info. "jobs" -lists all task that you have started from your current shell. "kill " -kills the specified process. "kill %" -kills the specified job ID. Okay, not lets say you want to start a job and let it run in the background. At the unix prompt, simply type " &". Your shell will assign a job ID to your command that you typed and inform you of it's ID. It will also inform you if the command has been suspended or is finished. 5) Nifty unix tools Unix has a couple of incredibly powerful tools that are built in. Here are a couple of them: Redirects: This allows you to control input and output of your unix program. Lets say you have just created a file that contains text that you wish to send to your friend. Lets say I am your friend and the name of the file you want to send is called "hello". To send hello to me you can type "mail ask1 < hello". mail will not take input from you, but instead will take input from the file "hello". Same goes for output. lets say you want to keep a record of all files you have in your directory. you would type "ls > today-directory". This would create a text file called "today-directory" that contains a list of all files in your current directory. Piping: You can also pipe the output of one program through another. For example, lets say you want to view a file, but don't want it to fly by on your screen. You can "cat" this file to the screen, but if the file is big enough, it would not be able to fit the file on one screen. You want to use something called a pager which will display a screenful and then prompt you for more (ie, it might say "hit any key to continue..."). To display a text file you would type "cat " This outputs the file to your screen directly. To force the output through a pager called "more" you would type "cat | more". This would send the output of the command "cat " to the pager, "more". Here is another example. Lets say you want to send a text file to me (like we did above). You can also send the text file using a pipe. For example, you could type "cat hello | mail ask1". This would cause the output of "cat hello" to be piped through the command "mail ask1" hence mailing me the hello file. This is probably confusing... if you have any questions, ASK! 6) Other commands You must learn how to use "vi". "vi" is the standard editor on the unix machines. You have to learn how to use this! It allows you to edit messages, edit text files, edit your setup files and edit any other test you might want to edit. The cec office has sheets that tell you how to use vi. I highly recomend picking one up. pico is actually the simplest editor to use nowadays. emacs is my personal favorite editor, very powerful but very complex. Check out these commands: "finger" -lets you see who is on a specific machine "talk" or "ntalk" -lets you "talk" to a specified person who is logged into a specified machine "ntalk" is simply a newer version of "talk" and uses a different protocol. "write" -lets you write something to a users screen. the user that you are writing to must be logged into the same computer you are logged into (ie you can't use the at symbol to specify a machine) "ftp" -File Transfer Protocol. Used for getting files from one machine to another. Wash U has by far and away, the most notable archive of files on the internet. To look around on this archive, type "ftp wuarchive.wustl.edu". Enter "anonymous" for your login name. Follow the directions. Hit "?" for help once you get the ftp prompt. before you transfer anything using the "get" command, make sure you type the "binary" command before hand. This ensures that files are sent correctly. "sz" -send files using zmodem protocol. If you use this command, make sure you perform the following sequence before doing so: 1) send a break to cec 2) at the xyplex prompt type: "set session passall" 3) type "resume" This will allow transfers free of cec's usual filtering.