CIS 90 - Lesson 3
Lesson Module Status• Slides - draft• Flash cards – started• properties –• page numbers - • No-stress quiz – done• Web Calendar summary – done • Web book pages - none• Commands – done• Welcome mailed -• Lab – done• Historical events mailed -
1
CIS 90 - Lesson 3
Quiz
Please close your books, turn off your monitor, take out a blank piece of paper and answer the following questions:
•How do you show your path?
•Name four directories where one can find commands?
•What is the command to print the manual page for a command?
2
CIS 90 - Lesson 3
Objectives Agenda
• Learn how to use the UNIX communication tools write and mail.
• Overview on end-to-end email.
• Quiz
• Questions from last week
• Mini review
• Housekeeping
• Write
• Basic Mail
• More on Mail
• End-to-end email
• Other MUAs, MTAs, DA and AAs
• Wrap up
Electronic Mail
3
CIS 90 - Lesson 3
Previous material and assignment
1. Questions on Labs or previous material?• Setting variables (term, ps1)• Inputs to a command
• via the command line• from the user• from the OS
• How work is divided up between shell and a command
2. Lab 2 due today• submit as many times as you wish up to midnight
4
CIS 90 - Lesson 3
Lab 1 Results
1) On Opus, what was the prompt string? /home/cis90/guest $ x
2) What does the history command do? shows previous commands
3) On Opus, what was your uid (user id) number? xxx503
4) On Opus, what was the name of the shell program being run? xxbash
5) What terminal device did you use to access Opus? xxxxx x/dev/pts/2 (this varies)
6) On any of the Frodo virtual terminals, what does the hostname command show? xxxxx xxxxx xfrodo
7) What command shows the other users that are logged in? who
8) What command shows you the name of the computer you are interacting with? xxxxx xxxxxhostname
9) On Frodo, what three keys must be pressed locally to use terminal tty2? xxctrl+alt+f2
10) On Frodo, if you log off one session, do you get logged off all the other sessions? no
11) On Frodo, is your command history the same for all login sessions? xxxxxno
12) What command logs you off? exit
5
CIS 90 - Lesson 3
Review
6
CIS 90 - Lesson 3
Opus (a RHEL server)
A. We access the Windows PC via its keyboard and monitor. It is running the Windows OS (the XP version)
B. From the PC we use Putty to access the Opus server, which runs the GNU/Linux OS (Red Hat Enterprise Linux distribution)
C. On the PC we use the VMware Server Console to access the Frodo VM, which runs the GNU/Linux OS (Ubuntu distribution)
D. From Frodo VM, we SSH to access Opus (different session than B)
A
C
B
What the heck are were we doing in Lab 1?
D
7
CIS 90 - Lesson 3
1) Prompt
2) Parse
3) Search
4) Execute
5) Nap
6) Repeat
Life of the Shell
Kernel
Shell
ApplicationsSystem
Commands
OS
10
CIS 90 - Lesson 3
Command Syntax
Command Options Arguments Redirection
[root@opus ~]# hostnameopus.cabrillo.edu
[root@opus ~]# hostname -i127.0.0.1
[root@opus ~]# hostname -sopus
11
KeyboardAdditional data command needs from user. E.g. passwords, math expressions, …
CIS 90 - Lesson 3
Commands are Programs
01
2
Program(a file on drive)
read writeconsole
keyboard(default)
consolescreen
(default)
consolescreen
(default)
stderrstdin
stdout
Operating System
Information available only from the OS. E.g. files, directories, date & time, process info, user info, tty info etc.
Command line (parsed by shell):Options: …Args: …
Loads into RAM
12
Commands get input from:A.Command lineB.KeyboardC.Operating System
CIS 90 - Lesson 3
Example program to process: ls command
01
2
directory contentsant Blake nursery Shakespeare twister Yeats (This file information comes from the kernel)
read
/home/cis90/simmsben/Poems $ tty/dev/pts/1/home/cis90/simmsben/Poems $ lsant Blake nursery Shakespeare twister Yeats/home/cis90/simmsben/Poems $
ls
ant Blake nursery Shakespeare twister Yeats
/dev/pts/1
/dev/pts/1/dev/pts/1
stderrstdin
stdout
Options: NAArgs: NA
13
CIS 90 - Lesson 3
Example program to process: bc command
01
2
2+24/0
[rsimms@nosmo ~]$ tty/dev/pts/1[rsimms@nosmo ~]$ bc 2> errors<snipped>2+244/0quit[rsimms@nosmo ~]$ cat errorsRuntime error (func=(main), adr=5): Divide by zero
bc
4
Runtime error (func=(main), adr=5):
Divide by zero
/home/rsimms/errors
/dev/pts/1
/dev/pts/1
stderrstdin
stdout
Options: NAArgs: NA
Note: BC is an interactive command and requires user input via stdin 14
CIS 90 - Lesson 3
Environment VariablesNames and Values
$ echo $LOGNAMEsimmsben
$ echo HOMEHOME
$ echo $HOME/home/cis90/simmsben
$ echo $SHELL/bin/bash
$ echo $HOSTNAMEopus.cabrillo.edu
Use $ for the “value” of a variable
Analogy: Each variable is a named location. The contents of any location is the “value” of that variable.
15
CIS 90 - Lesson 3
Variable Names and ValuesAnalogy: knobs and settings
16
$ echo FANFAN$ echo $FAN
$ FAN=HI$ echo $FANHI$ echo "The fan is set to: " $FANThe fan is set to: HI$ FAN=LO$ echo "The fan is set to: " $FANThe fan is set to: LO
FAN
HI
CIS 90 - Lesson 2
Passwords
Delete john.pot, john.log, john.rec …. ./john shadow17
CIS 90 - Lesson 3
Housekeeping
18
CIS 90 - Lesson 3
• Roll call
19
CIS 90 - Lesson 1
CIS 90 - SignaturesThe TBA (3 hours and 10 minutes) portion of the is course is required
Student signatures here
20
Michael George Daniel Black
CIS 90 - Lesson 1
Student Survey
21
Joshua Keever Daniel Black Jaime Cervantes
CIS 90 - Lesson 3
Lord of the Rings Character Code Names
22
Your code names are now available
CIS 90 - Lesson 3
Graded Work
Graded work is copied to your home directories:
[rsimms@opus ~]$ ls /home/cis90/tumajanand Hidden letter proposal1 spellk tumabigfile lab01.graded Miscellaneous proposal2 text.err what_am_ibin Lab2.0 mission proposal3 text.fxd yourlastnameempty Lab2.1 Poems small_town timecal[rsimms@opus ~]$
23
CIS 90 - Lesson 3
Forum Registration
To Register:
1. Click on Register link2. Agree to terms
3. For your Username to be accepted it must be:
• your full first and last name separated by a space e.g. Rich Simms
• match a name on the class roster
24
Daniel Black Joshua Keever Craig Langlo Gabriel Pantoja Joe Ferrante Jaime Cervantes
CIS 90 - Lesson 3
Using the Forum
• Use email to report typos or anything of a personal nature.
• Use the forum for EVERYTHING else.
• Usually if I get questions emailed to me that may be of interest to other students I'll ask you to post on the forum instead.
• Short, concise one topic posts are best. If you have a list of unrelated questions it is better to separate into single topic posts.
• Pick a subject line that summarizes your topic. This makes it easier to search for topics later.
• For trouble-shooting questions please include information so others can duplicate the problem you are having.
25Next week is 1st 5 post deadline
CIS 90 - Lesson 3
Using the Forum
26
Demonstrate - formatting, smilies, avatars, search, practice forum, members, etc.
Next week is 1st 5 post deadline
Demonstration
CIS 90 - Lesson 3
Extra Credit
27
Link to Extra Credit page is on the Grades page
Note the caps on extra credit.
CIS 90 - Lesson 3
Extra Credit Howtos
28
Internships
29
• Last week we met with local businesses.
• Topic: paid and unpaid internships for Cabrillo CIS/CS students.
• Cabrillo has resources for writing resumes, interviewing, job etiquette, etc. See: http://cabrillo.edu/services/jobs
Jobs mailing list: Subscribe by emailing (no subject or body):• [email protected]
CIS 90 - Lesson 3
WriteCommand
30
write commandsend a message to another user
CIS 90 - Lesson 3
write username [ttyname]
• Use ttyname if there are multiple logins by same username
• The receiver gets:
Message from yourname@yourhost on yourtty at hh:mm …
• Each line you type gets sent to the other user.
• To end sending messages type Ctrl-D (Ctrl and D keys at the same time)
• The receiver will see an EOF (end of file) at the end.
• If the receiver wants to reply then they need to use write command as well.
31
write commandsend a message to another user
CIS 90 - Lesson 3
Ctrl-D
Note, the pts/4 is not needed if there is only one login by the username the message is being sent to
32
write commandBeji chats with Mary using write commands
CIS 90 - Lesson 3
simmsben
simmsmar
1133
5 (a convention, "o" used for over)5 (a convention, "o" used for over)
881010
12121313
15151717
1818
1919 (Ctrl-D) 21(Ctrl-D) 21
22
4466
7799
11111414
1616 (Ctrl-D) 17(Ctrl-D) 17
20202222
Use Ctrl-D to stop writing. Ctrl-D is EOF (End of File) and is slightly more friendly than Ctrl-C
33
mesg commandenable or disable writes to your terminal
CIS 90 - Lesson 3
simmsben
simmsmar
Use n to disable or y to enable
34
CIS 90 - Lesson 3
Class Exercisewrite and mesg
• Logon to Opus
• Type ls /home/cis90 to see all student usernames
• Introduce yourself to the other students at your table and do a back and forth test using the write command.
• Use mesg command to enable and disable.
• Start collecting each other's usernames to use for Lab 3
35
CIS 90 - Lesson 3
MailCommand
36
UNIX mailSending messages
CIS 90 - Lesson 3
simmsben
[email protected] simmsmar
Use . or Ctrl-D to end the message
Intended recipients
The first prompt is "Subject: ", you enter the subject, then enter the message. The last prompt is "Cc: ". After hitting Enter the message is sent
37
Benji sends an email to Rich and Mary
Tip: cc yourself to save a copy of messages sent
UNIX MailReading messages
CIS 90 - Lesson 3
simmsmar
The & is the mail prompt.
Enter a 1 to read message 1
One message is in the header list (in tray), "N" means New, "1" is the message number
38
Mary reads email from Benji
UNIX mailReading messages sent from UNIX mail
CIS 90 - Lesson 3
Rich reads email from Benji
UNIX MailReplying to messages
CIS 90 - Lesson 3
simmsmar
Enter an r to "reply to all" for the last message read
40
Mary replies to email from Benji
UNIX MailBenji gets the reply from Mary
CIS 90 - Lesson 3
Entering just the message number or a "p" followed by the message number are equivalent. The p is the mail print command.
simmsben
41
Benji reads reply from Mary
CIS 90 - Lesson 3
Class ExerciseUNIX mail
• Logon to Opus
• Work with the other students at your table
• Send an email to one other student
• Send an email to all students at your table and cc: yourself
• Reply to the messages you receive
• Start collecting each other's student usernames to use in Lab 3
43
CIS 90 - Lesson 3
More on Mail
Command44
mail commandread and write modes
CIS 90 - Lesson 3
Read mode:
• mail (to read new messages)
• mail –f (to read saved messages in mbox)
• mail –f myfile (to read saved messages in myfile)
Write mode:
• mail simmsben
• mail simmsben simmsmar [email protected]
45
mail commandread mode sub commands
CIS 90 - Lesson 3
You are in read mode when you invoke mail with no arguments•? print these commands•p <message list> print messages•n goto and print next message•e <message list> edit messages•d <message list> delete messages•s <message list> file save (append) messages to file•u <message list> undelete messages•R <message list> reply to sender(s)•r <message list> reply to all•m <user list> mail to specific users•q quit, saving read messages to local mbox file•x quit, mark all mail as unread and undeleted.•h print out active message headers
A <message list> consists of integers, ranges of same, or user names separatedby spaces. If omitted, Mail uses the current message
A <user list> consists of user names separated by spaces.
46
mail command(h)header sub-command
CIS 90 - Lesson 3
h (print headers – e.g. list my in tray)
message numbers
N = New, message is unread
> points to the current message (last one printed)
47
mail command(p)rint sub-command
CIS 90 - Lesson 3
print all messages from simmsmar
48
mail command(p)rint sub-command
CIS 90 - Lesson 3
print message 5, note that commands can be abbreviated to a single letter
49
mail command(p)rint sub-command
CIS 90 - Lesson 3
print messages 4 -5
50
mail commande(x)it sub-command
CIS 90 - Lesson 3
x will quit mail. All messages revert back to their original state (unread and undeleted). When you return to mail again all the messages will still be there.
51
mail command(q)uit sub-command
CIS 90 - Lesson 3
q will quit mail. All read messages are moved to a local file named mbox. When you return to mail again those message will not appear. To read your old messages you must specify the mbox file with the –f option.
52
mail commandVarious mailbox files
CIS 90 - Lesson 3
system mail box/var/mail/username
(new mail arrives here and read messages are deleted on quit)
local mail boxmbox
(read messages go here on quit)
local mail boxyourfile
(messages can go here with save)
53
CIS 90 - Lesson 3
[rsimms@opus ~]$ mailMail version 8.1 6/6/93. Type ? for help."/var/spool/mail/rsimms": 6 messages 6 new>N 1 [email protected] Sun Jun 22 13:53 21/826 "Hot days and servers" N 2 [email protected] Thu Jul 24 12:27 16/697 "Nisene Hike" N 3 [email protected] Thu Jul 24 12:28 18/728 "Don't forget to bring" N 4 [email protected] Thu Jul 24 12:29 17/696 "Bone lost" N 5 [email protected] Thu Jul 24 12:33 20/808 "Re: Hot days and serv" N 6 [email protected] Thu Jul 24 15:41 18/691 "Salsa"& p 3-4Message 3:From [email protected] Thu Jul 24 12:28:38 2008Date: Thu, 24 Jul 2008 12:28:38 -0700From: Mary Simms <[email protected]>To: [email protected]: Don't forget to bring pen drive
I need to use it again to back up some files and practice partitioning.ThanksMary
Message 4:From [email protected] Thu Jul 24 12:29:27 2008Date: Thu, 24 Jul 2008 12:29:27 -0700From: Benji Simms <[email protected]>To: [email protected]: Bone lost
Did you see that old bone I was chewing? I can't find it anywhere!- Ben
mail commandVarious mail boxes example
Print 2 messages
54
mail commandVarious mail boxes example
CIS 90 - Lesson 3
& s 4 bone"bone" [New file]& h N 1 [email protected] Sun Jun 22 13:53 21/826 "Hot days and servers" N 2 [email protected] Thu Jul 24 12:27 16/697 "Nisene Hike" 3 [email protected] Thu Jul 24 12:28 18/728 "Don't forget to bring">* 4 [email protected] Thu Jul 24 12:29 17/696 "Bone lost" N 5 [email protected] Thu Jul 24 12:33 20/808 "Re: Hot days and serv" N 6 [email protected] Thu Jul 24 15:41 18/691 "Salsa"& qSaved 1 message in mboxHeld 4 messages in /var/spool/mail/rsimms[rsimms@opus ~]$ mailMail version 8.1 6/6/93. Type ? for help."/var/spool/mail/rsimms": 4 messages 4 unread>U 1 [email protected] Sun Jun 22 13:53 22/836 "Hot days and servers" U 2 [email protected] Thu Jul 24 12:27 17/707 "Nisene Hike" U 3 [email protected] Thu Jul 24 12:33 21/818 "Re: Hot days and serv" U 4 [email protected] Thu Jul 24 15:41 19/701 "Salsa"& qHeld 4 messages in /var/spool/mail/rsimms[rsimms@opus ~]$ mail -f mboxMail version 8.1 6/6/93. Type ? for help."mbox": 1 message> 1 [email protected] Thu Jul 24 12:28 19/739 "Don't forget to bring"& q[rsimms@opus ~]$ mail -f boneMail version 8.1 6/6/93. Type ? for help."bone": 1 message 1 new> 1 [email protected] Thu Jul 24 12:29 18/706 "Bone lost"& q"bone" complete[rsimms@opus ~]$
save message 4 in bone
messages 3 and 4 are read. 4 is saved (*)
55
mail command(d)elete and (u)ndelete
CIS 90 - Lesson 3
56
mail commandCopying messages from mbox back to system mail box
CIS 90 - Lesson 3
57
mail commandForwarding a message with ~m
CIS 90 - Lesson 3
This is how you forward message 5
58
mail commandThe mail boxes are all ascii text
CIS 90 - Lesson 3
/home/cis90/simmsben $ cat /var/mail/simmsbenFrom [email protected] Thu Jul 24 16:26:56 2008Return-Path: <[email protected]>Received: from opus.cabrillo.edu (opus [127.0.0.1]) by opus.cabrillo.edu (8.13.8/8.13.8) with ESMTP id m6ONQuBk016775 for <[email protected]>; Thu, 24 Jul 2008 16:26:56 -0700Received: (from millehom@localhost) by opus.cabrillo.edu (8.13.8/8.13.8/Submit) id m6ONQuqw016774 for simmsben; Thu, 24 Jul 2008 16:26:56 -0700Date: Thu, 24 Jul 2008 16:26:56 -0700From: Homer Miller <[email protected]>Message-Id: <[email protected]>To: [email protected]: RC4 review
Meeting at 4:00 today in Big Sur room. Looks like we have 2 showstoppers and need to rebuild tonight.
Homer
/home/cis90/simmsben $ mailMail version 8.1 6/6/93. Type ? for help."/var/spool/mail/simmsben": 1 message 1 new>N 1 [email protected] Thu Jul 24 16:26 18/741 "RC4 review"& 1Message 1:From [email protected] Thu Jul 24 16:26:56 2008Date: Thu, 24 Jul 2008 16:26:56 -0700From: Homer Miller <[email protected]>To: [email protected]: RC4 review
Meeting at 4:00 today in Big Sur room. Looks like we have 2 showstoppers and need to rebuild tonight.
Homer 59
CIS 90 - Lesson 3
Class ExerciseUNIX mail
• Ask your neighbor for some email if you need some more messages
• Save a couple of messages to a file named in2008
• Forward a message to one of your classmates
• Send a message to yourself
• Delete and undelete some messages
• Experiment with q (quit) and x (exit) to see how read messages are handled
• Use mail with –f option to read mbox and in2008 mailbox files
• Check out your mail boxes with file and cat commands
• Your system message store: /var/mail/username
• Your archived message: mbox
• The file you saved messages to: in2008
60
CIS 90 - Lesson 3
end-to-endemail
61
end-to-end email
CIS 90 - Lesson 3
compose and send message open and read message62
end-to-end email
CIS 90 - Lesson 3
compose and send message open and read message
MTAMail
TransportAgent
MTAMail
TransportAgent
MUAMailUser
Agent
MUAMailUser
Agent
DADeliveryAgent
MessageStore
AAAccessAgent
63
end-to-end email: example Implementation
CIS 90 - Lesson 3
compose and send message open and read message
MTAsendmail
MTAsendmail
MUA/bin/mail
MUAYahooMail
DAprocmail
MessageStore
/var/mail/rsimms
AAspop
SMTPSimple
MailTransportProtocol
SMTPSimple
MailTransportProtocol
POPPost
OfficeProtocol
64
end-to-end email: configuring your MUA (Mail User Agent)
CIS 90 - Lesson 3
MTAMail
TransportAgent
DADeliveryAgent
MessageStore
AAAccessAgent
This is why you get asked for the SMTP server and the POP3/IMAP server when you set up email on your PC. Your MUA needs to know this to send and receive messages.
SMTPSimple
MailTransportProtocol
SMTPSimple
MailTransportProtocol
POPPost
OfficeProtocol
MTAMail
TransportAgent
Example MUA: Windows Mail (on Vista)
65
CIS 90 - Lesson 3
Other MUAsMTAs, DAs,
AAs66
end-to-end email some of the many players
CIS 90 - Lesson 3
MTA
MUA
DA
AA
sendmail, Exim, Microsoft Exchange Server, Postfix
/bin/mail, procmail, smrsh
imapd, spop
/bin/mail, pine, elm, Outlook, Eudora, Thunderbird, Evolution
67
CIS 90 - Lesson 3
Wrap up
68
CIS 191 - Lesson 3
New commands:mail - UNIX mail
? print these commandsp <message list> print messagesn goto and print next messagee <message list> edit messagesd <message list> delete messagess <message list> file save (append) messages to fileu <message list> undelete messagesR <message list> reply to sender(s)r <message list> reply to allm <user list> mail to specific usersq quit, saving read messages to local mbox filex quit, mark all mail as unread and undeleted.h print out active message headers
mesg - Enable or disable writes to your terminalwrite - Write message to another user
New Files and Directories:/var/mail - Message store for mail/var/mail/username - Incoming mailbox for usernamembox - File in users home directory where read messages
are archived to
69
CIS 90 - Lesson 3
Next Class
Assignment: Check Calendar Page on web site to see what is due next week.
Quiz questions for next class:
•What command can you use to "chat" with another user?
•How do you forward a message with /bin/mail?
•With /bin/mail, where do all messages that have been read go after using the quit command?
70
CIS 90 - Lesson 3
Backup
71