<?xml version="1.0" encoding="ISO-8859-1"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:xh="http://www.w3.org/1999/xhtml" xmlns:axle="http://www.cs.odu.edu/~zeil/axle" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ns0="http://www.cs.odu.edu/~zeil/axle" mode="ignore" ns0:xlinkuri="open/unix.dbk" ns0:xpath="/html" ns0:page="unix" foo="0 " ns0:last="/cocoon/~cs252/open/unix/section-8.2.html"><head><title>An Introduction to Unix</title><link type="text/css" href="_axle/docbookstyle.css" rel="stylesheet"/><link type="text/css" href="_axle/cppformat.css" rel="stylesheet"/><link type="text/css" href="_axle/overrides.css" rel="stylesheet"/><script src="_axle/docbook.js"/><link href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-5.2.html" title="Next" rel="next"/><link href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-4.2.html" title="Prev" rel="prev"/><link href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html" title="Up" rel="up"/><link href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html" title="First" rel="first"/><link href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-8.2.html" title="Last" rel="last"/><script>function gotoNext() {top.location.href="/cocoon/~cs252/open/unix/section-5.2.html";}
function gotoPrev() {top.location.href="/cocoon/~cs252/open/unix/section-4.2.html";}
function gotoUp() {top.location.href="/cocoon/~cs252/open/unix/unix.html";}
</script><xhtml:link xmlns:xhtml="http://www.w3.org/1999/xhtml" rel="stylesheet" href="_axle/navigation.css" type="text/css"/><xhtml:script xmlns:xhtml="http://www.w3.org/1999/xhtml" src="_axle/navigation.js"/></head><body><table width="100%" class="navigationBar"><tr class="navigationBar"><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="First" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html"><img class="navigationBar" src="_axle/first.gif" alt="First"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Prev" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-4.2.html"><img class="navigationBar" src="_axle/prev.gif" alt="Prev"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Up" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html"><img class="navigationBar" src="_axle/up.gif" alt="Up"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Next" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-5.2.html"><img class="navigationBar" src="_axle/next.gif" alt="Next"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Last" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-8.2.html"><img class="navigationBar" src="_axle/last.gif" alt="Last"/></a></td><td class="navigationBar"/><td width="5%" class="navigationBar"><a class="navigationBar" title="CS252 Home" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/directory/announcements.html"><img class="navigationBar" src="_axle/home.gif" alt="CS252 Home"/></a></td><td width="5%" class="navigationBar"><a class="navigationBar" title="discuss this page" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/forum/getXPath/open/unix/section-5.html"><img class="navigationBar" src="_axle/forum.gif" alt="discuss this page"/></a></td></tr></table><br/><script type="text/javascript">
checkForAnchorOnOtherPage('section-1','unix');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('mainmini','mainmini');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-1.1.1','mainmini');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('displays','mainmini');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('networks','mainmini');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('taleof2','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-1.2.1','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('pcrev','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref1','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref1_live','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref2','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref2_live','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote1','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote2','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('mswin','taleof2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('reflections','reflections');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref3','reflections');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref3_live','reflections');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote3','reflections');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('ssh','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref4','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref4_live','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('puttyConnect','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('sshConnect','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote4','ssh');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('login','login');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('termtypes','termtypes');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref5','termtypes');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref5_live','termtypes');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote5','termtypes');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-1.7','section-1.7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-1.8','section-1.8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.1','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref6','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref6_live','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref7','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref7_live','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('basicFileCmds','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref8','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref8_live','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote8','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('cmdlist','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('session','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('rlogin','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('filemanip','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('cdcmd','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('findcmd','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('lsa','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('lsF','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('pwdcmd','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('textmanip','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('catcmd','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('morecmd','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('printing','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote6','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote7','section-2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.2','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref9','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref9_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('paths','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref10','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref10_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote10','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('specialChar','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('cmdpatterns','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref11','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref11_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('wildcards','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref12','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref12_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote12','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('regexp','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('grepregexps','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref13','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref13_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref14','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref14_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote13','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote14','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('sedregexps','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref15','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref15_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref16','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref16_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote15','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote16','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote11','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('quoting','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref17','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref17_live','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote17','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote9','section-2.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.3','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref18','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref18_live','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('redirect','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('piping','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xargs','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('find','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote18','section-2.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.4','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.4.1','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref19','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref19_live','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote19','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.4.2','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref20','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref20_live','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote20','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('umask','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-2.4.4','section-2.4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3','section-3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('vim','section-3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref21','section-3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref21_live','section-3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3.1','section-3.1');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3.2','section-3.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3.3','section-3.3');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('markregion','markregion');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref22','markregion');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref22_live','markregion');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote22','markregion');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3.5','section-3.5');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-3.6','section-3.6');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote21','section-3.6');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.1','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('twin','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('icewin','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('starwin','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('connections','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('runningx','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref23','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref23_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('launchTheServer','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('creatingsession','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.2.1.2','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.2.1.3','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref24','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref24_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote24','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.2.1.4','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref25','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref25_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote25','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('launchClient','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref26','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref26_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('launchViaSsh','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref27','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref27_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote27','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('launchViaPutty','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref28','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref28_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote28','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xlaunch-sessions','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xwin32-sessions','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref29','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref29_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote29','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote26','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote23','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.3','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xappl','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xtrouble','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('cannotOpen','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('firewall','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref30','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref30_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref31','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref31_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref32','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref32_live','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote30','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote31','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote32','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xforwarding','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xfast','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.5.4.1','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.1.5.4.2','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xtermFont','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('connect-localhost','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('refusedByServer','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('alternatives','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('RDP','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('vnc','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('vncx','section-4');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-4.2','section-4.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('emacsinx','section-4.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('emacsintelnet','section-4.2');
</script><div class="sect1" id="section-5" ns0:xpath="//*[@id='section-5']" ns0:page="section-5" ns0:next="/cocoon/~cs252/open/unix/section-5.2.html" ns0:prev="/cocoon/~cs252/open/unix/section-4.2.html" ns0:up="/cocoon/~cs252/open/unix/unix.html" foo="0 " ns0:last="/cocoon/~cs252/open/unix/section-8.2.html" ns0:first="/cocoon/~cs252/open/unix/unix.html"><div class="info_sect1"><div class="title_sect2">5. EMail</div></div><div class="TOC">Contents:<div class="TOC-section1"><a href="#section-5.1">5.1 Basic mail processing</a></div><div class="TOC-section2"><a href="#section-5.1.1">5.1.1 E-Mail addresses</a></div><div class="TOC-section2"><a href="#section-5.1.2">5.1.2 E-Mail Programs</a></div><div class="TOC-section2"><a href="#mailcommand">5.1.3 The Unix mail command</a></div><div class="TOC-section2"><a href="#popmail">5.1.4 Fetching Unix E-Mail from Other Programs</a></div><div class="TOC-section1"><a href="section-5.2.html#section-5.2">5.2 pine (optional)</a></div></div><div class="sect2" axle:nopage="1" id="section-5.1"><div class="info_sect2"><div class="title_sect3">5.1. Basic mail processing</div></div><div class="TOC">Contents:<div class="TOC-section2"><a href="#section-5.1.1">5.1.1 E-Mail addresses</a></div><div class="TOC-section2"><a href="#section-5.1.2">5.1.2 E-Mail Programs</a></div><div class="TOC-section2"><a href="#mailcommand">5.1.3 The Unix mail command</a></div><div class="TOC-section3"><a href="#mailsend">5.1.3.1 Sending</a></div><div class="TOC-section3"><a href="#section-5.1.3.2">5.1.3.2 Receiving</a></div><div class="TOC-section2"><a href="#popmail">5.1.4 Fetching Unix E-Mail from Other Programs</a></div></div><p class="para">Electronic mail, or <span class="quote">
      &#8220;e-mail&#8221;
    </span>, for short, is an
important part of the ODU CS environment. Besides being a useful way
to exchange personal messages, e-mail is used by the Department for
official announcements. Many instructors distribute grades by
e-mail. They may send hints and corrections for projects and
assignments that way, or distribute special files needed by all
students in the class.  E-mail may be the best way to pose a short
question to your instructor outside of class, since you don't actually
need to catch your instructor in person at a time when he/she's not
busy with someone else.</p><p class="para">Of course, you may already have an e-mail account at work, with the
University, or at home via your own Internet Service Provider (ISP).  
But you can't just ignore your departmental e-mail account. You will
either need to read it on a regular basis, or, if you
prefer to receive all your mail at another account, you can <a url="../forwarding/" href="../forwarding/">set a forwarding address</a> for your
  Departmental e-mail.  If you have a favorite email program that you run on your home PC, you can <a url="#popmail" href="#popmail">configure that program</a> to fetch mail from your Unix account.
</p><div class="sect3" id="section-5.1.1"><div class="info_sect3"><div class="title_sect4">5.1.1. E-Mail addresses</div></div>
    
    <p class="para">Just as with physical mail, you can't send someone e-mail unless you
know their name and address. For e-mail, the name and address are
usually combined as
<div class="screen"><span class="userinput"><span class="emphasis">name</span>@<span class="emphasis">machine</span></span></div>
where <span class="emphasis">name</span> is the login name of the recipient and <span class="emphasis">machine</span>
is the full name of the computer that processes their mail.  This
combination is generally called the person's <span class="quote">
      &#8220;e-mail address&#8221;
    </span>.</p>
    <p class="para">For example, my login name is <span class="quote">
      &#8220;zeil&#8221;
    </span>, and my mail is
handled by the machine <span class="quote">
      &#8220;cs.odu.edu&#8221;
    </span>, so my e-mail address
is <span class="code">zeil@cs.odu.edu</span>.</p>
    <p class="para">Actually all e-mail for CS Dept. login accounts is handled by
<span class="code">cs.odu.edu</span>. When you are sending mail to a user with the
same mail handling machine, you can omit the <span class="quote">
      &#8220;@&#8221;
    </span> and
everything that follows it.  So if you are logged in to a CS Dept
machine and want to send me e-mail you could just send it to
<span class="code">zeil</span>.  But if you are logged in to a Teletechnet PC or a
machine elsewhere on the Internet, you would need to give the full
form, <span class="code">zeil@cs.odu.edu</span>.</p>
  </div><div class="sect3" id="section-5.1.2"><div class="info_sect3"><div class="title_sect4">5.1.2. E-Mail Programs</div></div>
    
    <p class="para">There are several programs that you can use to get e-mail, and people
tend to become rather fanatical about their personal favorite. The
most basic of these is the Unix <span class="code">mail</span> command, which also has
the advantage of being universally available on any Unix machine. 
<span class="code">mail</span> is described in <a href="#mailcommand">Section 5.1.3: <span class="title_xref">The Unix mail command</span></a>.
</p>
    <p class="para">The <span class="code">mail</span> command, however, is showing its age.  When
it was developed, all e-mail was plain-text only. As time passed,
however, people found it convenient to package files, graphics,
sounds, etc., as part of an <span class="quote">
      &#8220;extended&#8221;
    </span> e-mail message.
The international standard defining the format of Internet e-mail was
eventually extended (the Multipurpose Internet Mail Extensions or
<span class="firstterm">MIME</span> for short) to allow almost any file to be
<span class="firstterm">attached</span> to a plain-text message.  The
<span class="code">mail</span> command predates these new standards and so cannot
handle MIME e-mail. Also, <span class="code">mail</span> is not the easiest e-mail
program to learn.</p>

    <p class="para">The ODU CS Department provides a simple web-based interface to Unix
email. From the <a target="_blank" url="http://www.cs.odu.edu" href="http://www.cs.odu.edu">CS
Dept. home page</a>, look under <span class="quote">
      &#8220;Online Services&#8221;
    </span> and select
<span class="quote">
      &#8220;Squirrel Mail&#8221;
    </span>.</p>

    <p class="para">Another good alternative is the program  <span class="code">pine</span>,
discussed in <a href="../pine/">this lesson</a>. It is
menu-driven, includes a substantial built-in help system, and can
process and send MIME mail.</p>


    <p class="para">Later, you may want to check out the X-Windows
<span class="code">mailtool</span> or the <span class="code">M-x vm</span> command for reading
e-mail from within the <a href="../emacs/"><span class="code">emacs</span> editor</a>.</p>
  </div><div class="sect3" id="mailcommand"><div class="info_sect3"><div class="title_sect4">5.1.3. The Unix mail command</div></div><div class="TOC">Contents:<div class="TOC-section3"><a href="#mailsend">5.1.3.1 Sending</a></div><div class="TOC-section3"><a href="#section-5.1.3.2">5.1.3.2 Receiving</a></div></div>
    


    <p class="para">The Unix mail command is described here. This is one of the oldest 
    programs for accessing email, and it shows its age. I don't know anyone who actually uses this to read their normal email. It is worth knowing, though, because it can be used entirely from the command line with no interaction. This makes it useful when writing <a href="../scripts/">scripts</a>, where you might want to automatically send an email as part of a programmed action. For example, I have a script that runs automatically every night to rebuild the tables used by the <span class="quote">
      &#8220;Search&#8221;
    </span> command on the course website. If something goes wrong, it sends me an email with the relevant error message.
 </p>

    <div class="sect4" id="mailsend"><div class="info_sect4"><div class="title_sect5">5.1.3.1. Sending</div></div>
      
      <p class="para">To send mail to someone with e-mail address <span class="emphasis">addr</span>, give the command 
<div class="screen"><span class="userinput">
   mailx <span class="emphasis">addr</span>
</span></div></p>
      <p class="para">For example, you could send me mail via the command
<div class="screen"><span class="userinput">
   mailx zeil@cs.odu.edu
</span></div>
Although, if you are logged in to a CS Dept machine and want to
send me e-mail you could just say
<div class="screen"><span class="userinput">
   mailx zeil
</span></div></p>
      <p class="para">After you have given the <span class="code">mail</span> command,
you will be prompted for a subject line to indicate what your message
is about. After that, you begin typing your message on  the 
next line. When you are done, type ^D on a line by itself.
You will then be prompted with <span class="quote">
      &#8220;<span class="code">Cc:</span>&#8221;
    </span>, which allows you to add
the login names of other people to whom you would like to send a copy
of your message. (Many people like to make a habit of cc'ing a copy to
themselves.) If you do not want to send any extra copies, just hit
the <span class="quote">
      &#8220;Return&#8221;
    </span> key. Your message will then be sent.</p>
      <p class="para">As you type your message, you can send special instructions to the
mail program by entering any of the following at the start of a line:
<div class="variablelist"><dl><dt class="varlistentry"><span class="term">~e</span></dt><dd class="varlistitem"> Enter the editor named by the
<a href="../custom/">EDITOR environment variable</a>.  This is a good
way to correct mistakes made on previous lines.</dd><dt class="varlistentry"><span class="term">~r <span class="emphasis">filename</span></span></dt><dd class="varlistitem"> Insert the contents of a file into your
mail message.</dd><dt class="varlistentry"><span class="term">~p</span></dt><dd class="varlistitem"> Print the message as it appears so far.</dd><dt class="varlistentry"><span class="term">~m <span class="emphasis">#</span></span></dt><dd class="varlistitem"> If you are actually replying to a mail message
that you received (see Receiving, below), this inserts the text of
mail message number <span class="emphasis">#</span> into your reply.</dd></dl></div></p>
    </div>
    <div class="sect4" id="section-5.1.3.2"><div class="info_sect4"><div class="title_sect5">5.1.3.2. Receiving</div></div>
      
      <p class="para">When you first log in, you will be informed if you have received
e-mail. At that time, or anytime thereafter, you can use the
<span class="code">frm</span> command to list the messages awaiting.</p>
      <p class="para">To actually read your mail, give the command <span class="code">mailx</span> with no
arguments. You should see a numbered list of your messages. If not,
the command <span class="quote">
      &#8220;<span class="code">h</span>&#8221;
    </span> (for <span class="emphasis-bold" role="bold">h</span>eaders) will list them.  You can
then read a message by typing it's number.<a onmouseover="DBshowBriefly('fn_fref33_live')" name="fn_fref33" id="fn_fref33" class="footnotemark" href="#fn_fnote33">33</a><div class="footnote_live" id="fn_fref33_live">If you have no
messages at the moment but would like to practice reading mail, try
following the <a href="#mailsend">earlier instructions</a> to send
yourself a couple of messages. Then just wait a few minutes until
<span class="code">frm</span> indicates that your messages have arrived.</div></p>
      <p class="para">After reading the message, you can take any of several actions:
<div class="variablelist"><dl><dt class="varlistentry"><span class="term">r</span></dt><dd class="varlistitem"> Send a <span class="emphasis-bold" role="bold">r</span>eply to the author of the message you just
read.</dd><dt class="varlistentry"><span class="term">R</span></dt><dd class="varlistitem"> Send a <span class="emphasis-bold" role="bold">r</span>eply to the author of the message you just
read and to anyone in the Cc: list of that first message.</dd><dt class="varlistentry"><span class="term">dp</span></dt><dd class="varlistitem"> Delete this message and move on to the next (if any).</dd><dt class="varlistentry"><span class="term">n</span></dt><dd class="varlistitem"> Move on to the next message.</dd><dt class="varlistentry"><span class="term">s <span class="emphasis">filename</span></span></dt><dd class="varlistitem"> Save a copy of this message in the specified
file. If the file already exists, the message is added to the end.</dd></dl></div></p>
    <div name="fn_fnote33" id="fn_fnote33" class="footnote">33. If you have no
messages at the moment but would like to practice reading mail, try
following the <a href="#mailsend">earlier instructions</a> to send
yourself a couple of messages. Then just wait a few minutes until
<span class="code">frm</span> indicates that your messages have arrived. (<a href="#fn_fref33">back</a>)
    </div></div>
  </div><div class="sect3" id="popmail"><div class="info_sect3"><div class="title_sect4">5.1.4. Fetching Unix E-Mail from Other Programs</div></div>
    

    <p class="para">You don't have to use <span class="emphasis">any</span> Unix program to retrieve your Unix account e-mail. Almost any email program can be configured to fetch mail from your Unix account.
</p>

<p class="para">The world of email is dominated by three communications standards:
<div class="variablelist"><dl><dt class="varlistentry"><span class="term">POP</span></dt><dd class="varlistitem">a common standard for fetching email. People who use POP generally pull all their mail onto a local machine, storing saved messages on the local machine.</dd><dt class="varlistentry"><span class="term">IMAP</span></dt><dd class="varlistitem">a standard for both fetching email and organizing it. People who use IMAP often keep all their mail on the remote mail server, including organizing it into folders. An advantage of an IMAP account is that your messages are available even if you move to a different machine. Disadvantages include longer waits (because even your saved messages must be retrieved from the remote server and possible space limitations required if many people are leaving all their email on the same remote mail server.</dd><dt class="varlistentry"><span class="term">SMTP</span></dt><dd class="varlistitem">A standard for sending email</dd></dl></div>
Typically, an email program will need to be configured with SMTP and either POP or IMAP if you want to both read and send mail from that program.
</p>

<p class="para">A complicating factor is that most Internet Service Providers block SMTP traffic that goes anywhere except to their own mail servers. This is pretty much a necessary restriction to prevent spammers from flooding the net from any arbitrary internet account. But it really makes it tricky to configure an email program on a laptop or other portable machine that may be moved from one ISP to another on a regular basis. That's one reason why email programs that run on remote machines and can be accessed via a web interface are becoming increasingly popular.
</p>

<p class="para">If, however, you use a program like Outlook, Outlook Express, Eudora, Pegasus, or any of the other common email applications, you can configure it to fetch your CS Dept Unix email. The exact steps to be follwed will depend on the program and should be covered in the program's help files or documentation. But the general outline is
<div class="orderedlist"><ol><li>Configure the SMTP (to send email) according to the settings/instructions provided by your Internet Service Provider.</li><li>Add a POP account to our mail server <span class="code">mail.cs.odu.edu</span> with your Unix login name as the Username and using your Unix password.
</li></ol></div>
</p>
</div><p class="para">If you prefer to read your e-mail on a different system, you can
easily tell the Unix mailing system to forward all mail sent to your
Unix e-mail address to a different address.</p><p class="para">You will want to create, in your home directory (i.e., <span class="code">cd
~</span>) a file named <span class="quote">
      &#8220;<span class="code">.forward</span>&#8221;
    </span>. The contents of this file
should be a single line of text containing your preferred e-mail
address.</p><p class="para">You can create this file using your favorite text editor, or you can
simply use the Unix <span class="code">echo</span> command to write the desired text into
the file. For example, if you wanted all your e-mail to be sent to
<span class="code">bogus@megacorp.com</span>, you would do the following
<div class="programlisting">
  cd ~
  echo "bogus@megacorp.com" &gt; .forward
  cat .forward
</div></p><p class="para">The final <span class="code">cat</span> command should show the contents of the <span class="code">.forward</span>
file to be your desired address. (Note: Unix files that start with a <span class="quote">
      &#8220;.&#8221;
    </span>
are invisible to the normal <span class="code">ls</span> command. To see them
in a directory listing, you have to add the <span class="code">-a</span> option: <span class="code">ls -a</span>.)</p><p class="para"><span class="emphasis-bold" role="bold">Now, test it out!</span> If you have a bad e-mail
address in your <span class="code">.forward</span> file, you could lose messages. So send
yourself mail (to your ODU CS account). It should appear, in due course,
at your preferred e-mail address. How long it actually takes depends on
many factors. It may take only a few minutes. If after a few hours, you
have not received the e-mail, delete your <span class="code">.forward</span> file. Try again,
if you wish. Or you might try on another day just in case the CS Dept.
mail server, or the one at your preferred site, was temporarily out of
commission. If you have repeated problems getting mail forwarded quickly,
you might want to rethink your desire to use this feature. For most people,
this procedure works without much trouble.</p><p class="para">You can actually have more than one forwarding address.  The
<span class="code">.forward</span> file can contain a comma-separated list of
forwarding addresses. For example, you might use
<div class="programlisting">
  bogus@megacorp.com, bogus@home.net
</div>
Some people like to keep a backup copy of their
mail on the CS Dept system, but to get their "normal" mail somewhere
else (e.g., because their mail server at work is crash-prone). This is
possible, by making your e-mail address on the CS Dept. system one of
the forwarding addresses, so that you forward a copy right back to
yourself:
<div class="programlisting">
  \yourLoginName, bogus@megacorp.com
</div>
The backslash is required: it helps prevent the mailer from consulting your
<span class="code">.forward</span> file a second time (which would lead to an infinite
cycle of mail forwarding).</p></div><script type="text/javascript">
checkForAnchorOnOtherPage('section-5.2','section-5.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('pinemain','section-5.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('pinecompose','section-5.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('pineindex','section-5.2');
</script></div><script type="text/javascript">
checkForAnchorOnOtherPage('section-6','section-6');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xfermode','xfermode');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xfersamba','xfersamba');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref34','xfersamba');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref34_live','xfersamba');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote34','xfersamba');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('internetftp','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('anonprivateftp','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref35','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref35_live','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote35','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('ftpclient','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref36','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref36_live','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref37','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref37_live','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote36','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote37','internetftp');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xferproblems','xferproblems');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('dostounix','xferproblems');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('unixtodos','xferproblems');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.1','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('compshell','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref38','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref38_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('cStructure','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref39','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref39_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fig:compilation','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.1.1.1.1','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.1.1.1.2','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote39','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('compilingSingle','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('compilingMultiple','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('compilerOptions','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref40','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref40_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref41','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref41_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote40','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote41','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote38','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('errmsgs','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('capturing','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref42','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref42_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote42','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('understanding','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('javacomp','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref43','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref43_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('jproject','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote43','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.1.4','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('emacserr','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('emacs-next-error','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref44','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref44_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote44','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('vimcompile','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('vimscreen','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.2','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref45','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref45_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.2.1','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.2.2','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('artificial-targets','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('writingMakefiles','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.2.5','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote45','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.3','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.3.1','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref46','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref46_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref47','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref47_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote46','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote47','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.3.2','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.1.3.3','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('gdbmode','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref48','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref48_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref49','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref49_live','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote48','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote49','section-7');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.2','section-7.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.2.1','section-7.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-7.2.2','section-7.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('gdbxfig','section-7.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('dddfig','section-7.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.1','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref50','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref50_live','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('loginCustom','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref51','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref51_live','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref52','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref52_live','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote51','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote52','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('xCustom','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('programCustom','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote50','section-8');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.1','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('controlflow','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref53','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fref53_live','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('fn_fnote53','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.3','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.4','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.4.1','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.4.2','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('scriptDebugging','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.5.1','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('section-8.2.5.2','section-8.2');
</script><script type="text/javascript">
checkForAnchorOnOtherPage('tracing','section-8.2');
</script><br/><table width="100%" class="navigationBar"><tr class="navigationBar"><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="First" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html"><img class="navigationBar" src="_axle/first.gif" alt="First"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Prev" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-4.2.html"><img class="navigationBar" src="_axle/prev.gif" alt="Prev"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Up" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/unix.html"><img class="navigationBar" src="_axle/up.gif" alt="Up"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Next" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-5.2.html"><img class="navigationBar" src="_axle/next.gif" alt="Next"/></a></td><td width="5%" class="navigationBar"><a class="navigationBarArrow" title="Last" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/open/unix/section-8.2.html"><img class="navigationBar" src="_axle/last.gif" alt="Last"/></a></td><td class="navigationBar"/><td width="5%" class="navigationBar"><a class="navigationBar" title="CS252 Home" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/directory/announcements.html"><img class="navigationBar" src="_axle/home.gif" alt="CS252 Home"/></a></td><td width="5%" class="navigationBar"><a class="navigationBar" title="discuss this page" href="http://cocoon.cs.odu.edu:80/cocoon/~cs252/forum/getXPath/open/unix/section-5.html"><img class="navigationBar" src="_axle/forum.gif" alt="discuss this page"/></a></td></tr></table></body></html>