unix网络编程_部分2.pdf
《unix网络编程_部分2.pdf》由会员分享,可在线阅读,更多相关《unix网络编程_部分2.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、被删除掉。如果你还想将一些读过的信件保存在收件箱里,就必须在退出 m a i l x之前,使用p r命令对相应的信件进行操作。当用户退出m a i l x程序后,那些还没有读过的信件仍会保留在收件箱里。待用户下次进入邮件s h e l l时,这些信件的状态码就变为 U,而不再是N。状态码U表示是以前接收到的信件,但还没有阅读过。如前所述,当用户使用 q命令退出m a i l x后,那些标记为删除的信件将不会被保存在 m b o x文件里,而被真正删除掉。如果用户在退出前改变了主意,不想删除任何信件,就可以使用 x命令而不是q命令退出。使用x命令退出时,就相当于撤消前面进行的所有删除操作,不删掉
2、任何已标记为删除的信件。2.2.6 在邮箱文件里保存和访问信件使用s命令,用户可以将信件保存在自己选定的邮箱文件里,而不仅限于系统默认的 m b o x文件。s命令可以保存信件的头部信息和信件正文,而任何包括信件头的文件都可以使用 m a i l x读取,并被视为邮箱文件。用户可以方便地访问这种文件里的信件,就像访问 m b o x文件里的信件一样。使用s命令保存信件时,需要在命令中输入用来保存信件的文件名。如果指定的文件不存在,就自动创建一个新文件;如果指定的文件已存在,就将信件追加到文件中。在下面的示例中,命令“s 2-f a m i l y _ m s g s”将第二个信件保存到 f a
3、 m i l y _ m s g s文件里。用户也可以一次指定一组信件进行保存,例如使用命令“s1-3 family_msgs”能一次将序号为1、2和3的三封信件都保存在f a m i l y _ m s g s文件里。通过使用s命令,用户可以灵活地将不同的信件按照一定的分类规则整理到不同的邮箱文件里。比如说,可以将有关某一个话题的所有信件都归到同一个专门的邮箱文件里,或者按照发件人进行分类归纳。例如,可以将所有从 c h r i s发送过来的信件都保存在一个名为 c h r i s的文件里。如果对信件按照发件人进行分类归纳,就要为每一个发件人都建立一个单独的邮箱文件,那么使用S命令来代替s命
4、令就特别方便。执行S命令时,自动将指定信件保存在与发件人同名的文件里。如果该文件不存在,就自动新创建一个。S命令中的参数只要求信件列表符,而不用指出文件名。在下面的示例中,用户使用 S命令把序号为3的信件保存在与发件人同名的文件里,即c h r i s文件里:第2章 电子邮件程序mailx 21下载无论是使用S命令,还是使用 s命令,都可以将信件的头部信息和正文保存到文件里。通过信件的头部信息,m a i l x才能对信件进行管理,完成删除信件、显示信件等操作。用户可以在启动m a i l x时通过-f选项指定一个邮箱文件名,或者运行 m a i l x后通过执行f o l d e r命令来选
5、定。实际上,用户在操作过程中,可以随意切换邮箱文件,然后针对选定邮箱文件里的信件进行各种操作。在下面的示例中,通过命令“mailx-f family_msgs”选定了名为f a m i l y _ m s g s的邮箱文件:如果在启动m a i l x程序时,没有指定任何邮箱文件,就缺省进入用于存放系统新信件的收件箱里。不过,随后你可以自由切换到另外的一个邮箱文件中。进行邮箱文件切换时,就在f o l d e r命令后指明新选定的邮箱文件名。切换成功后,屏幕上将显示放在新邮箱文件里的信件头部信息。如果想返回到最初的收件箱里,就在 f o l d e r命令后输入字符%;如果想返回到前一个邮箱文
6、件里,就在 f o l d e r命令中输入字符#。在下面的示例中,用户开始启动 m a i l x时进入的是收件箱,然后使用f o l d e r命令切换到f a m i l y _ m s g s文件里,最后再通过“folder%”命令返回到收件箱里:如前所述,m b o x文件用来保存用户已读过的信件。每次用户退出邮件 s h e l l时,系统就自动将最近读过的信件追加到m b o x文件里。因为在m b o x文件里保存的各个信件都带有头部信息,所以可以使用m a i l x程序访问它们。进行访问时,可以在启动 m a i l x时就指定文件名m b o x,也可以在运行m a i
7、l x后通过“folder&”命令切换到m b o x文件里,其中字符&就代表用于保存已读过信件的文件名。进入m b o x文件箱后,屏幕上显示所有已读过信件的头部摘要信息。然后,用户可以使用p、d等mailx 命令对这些信件进行操作,甚至还可以使用 R命令回复信件。在下面的示例中,用户为了查看以前读过的信件,在启动 m a i l x时就指定了m b o x文件:22第一部分 电 子 邮 件下载第2章 电子邮件程序mailx 23下载2.2.7 在文件里保存信件内容w命令只保存信件的内容,而不保存信件的头部信息。它与 s命令具有同样的语法格式,详细情况可以参见表2-7。例如,命令“w 3 n
8、ewgame”将序号为3的信件内容(不包括头部信息)保存在n e w g a m e文件里,那么n e w g a m e文件就是一个标准的文本文件,而不是一个邮箱文件,不能通过m a i l x程序进行访问。表2-7 信件保存及常用命令命令作用信件保存命令s message-list filename将信件列表符m e s s a g e-l i s t指定的信件保存在f i l e n a m e指定的文件里,包含信件头部信息S m e s s a g e-l i s t将m e s s a g e-l i s t指定的信件保存在与发件人同名的文件里w message-list filen
9、ame将m e s s a g e-l i s t指定的信件的正文保存在一个文件里,不保存信件的头部信息c message-list filename将m e s s a g e-l i s t指定的信件拷贝到一个文件里folder m a i l b o x-f i l e n a m e切换到m a i l b o x-f i l e n a m e指定的邮箱里。其中字符%代表收件箱;#代表前一个邮箱;&代表用于保存已读过信件的邮箱,通常为 m b o x常用命令?显示所有邮件命令清单!c o m m a n d在邮件s h e l l里执行一个用户s h e l l命令alias nam
10、e addre s s-l i s t为a d d r e s s-l i s t指定的地址建立一个别名用户还可以通过w命令接收大的文本文件。在启动 m a i l x时使用重定向输入文件操作,可以向其他用户发送一个文本文件。接收文件时,可以使用 w命令将m a i l x发送过来的内容保存为一个文本文件。在使用m a i l x发送文件时,必须使用重定向符将输入重定向为一个文本文件。在下面的示例中,用户将c o m p l i s t文件发送给c h r i s:$mailx chris complist当c h r i s接收到上述文件时,文件里已添加上了一个邮件头。因此,为了在保存时去掉
11、邮件头,就使用w命令,如下所示:使用m a i l x发送文件要受到很大的限制,它只能发送通常的文本文件,而不能直接发送二进制文件。不过,也可以通过第 2章中讨论过的方法,即首先对需要传送的二进制文件使用u u e n c o d e进行编码,然后按照文本文件进行传送,接收到后再使用 u u d e c o d e进行解码,还原为二进制文件。需要说明的是,一般传送大文件都使用 F T P程序,我们将在第11章中详细讨论F T P程序。2.3 mailx别名、选项及邮件初始化文件m a i l x有一个名为.m a i l r c的初始化文件,通过它可以定制 m a i l x,例如增删属性、定
12、义别名等。在用户每一次启动 m a i l x时,都会自动读取并执行放在.m a i l r c里的邮件命令。.m a i l r c文件最常用来设置一些选项,例如修改提示、保存发送信件的副本等。它也常用来定义邮件别名,这特别适用于向多个用户广播同一封信件的情况。2.3.1 mailx别名有时候,你可能需要向一组用户广播一封信件。例如,假定你是一个教师,你的每一个学生都有一个自己的 U n i x系统帐号。当你需要向所有学生广播一封信件时,就可以逐一输入每个学生的邮件地址;不过,如果你能充分利用 m a i l x的别名功能,就会省事多了。你可以先列出所有学生的地址,然后给它们共同定义一个别名
13、。这样,在你以后需要向所有学生广播一封信件时,只要输入别名就可以了,而不用每次都逐一输入每个学生的邮件地址。m a i l x程序能自动将别名映射为相应的邮件地址列表,把信件发送给所有相关的用户。定义别名时,使用a l i a s命令。其用法是:在a l i a s命令后首先输入别名,然后输入它代表的邮件地址。m a i l x别名只能在邮件s h e l l里定义,而不能在用户 s h e l l(如B-s h e l l)里定义,这就意味着你不能在.p r o f i l e或.b a s h r c这样的初始化文件里定义。每次在你退出或重新进入邮件s h e l l时,都必须重新定义别名
14、。不过,这种重新定义别名的工作,可以通过邮件 s h e l l初始化文件.m a i l r c自动进行。.m a i l r c是一个简单的文本文件,可以使用v i之类的文本编辑器进行编辑。在.m a i l r c文件里的每一行都是由 a l i a s命令名、别名和邮件地址列表三部分组成的,即使一项中的邮件地址列表很长也必须要保持在同一行中(中间不能敲入回车键)。下面给出了在.m a i l r c文件里定义别名m y c l a s s的例子:.m a i l r c在启动m a i l x时,.m a i l r c文件将自动被执行,在它里面定义的别名也因此生效。所以,在使用m a
15、 i l x发送信件时,可以在命令行中使用.m a i l r c文件里定义的别名。在下面的示例中,在m a i l x命令行中使用了上述在.m a i l r c文件里定义的m y c l a s s别名,将h o m e w o r k文件发送给所有别名为m y c l a s s的用户:$mailx myclass homework2.3.2 mailx选项m a i l x提供了一些选项,用于设置各种邮件功能特性,它们也可以在.m a i l r c文件里进行设置,以便在启动m a i l x时自动生效。表2-8列出了一些比较常用的 m a i l x选项。s e t命令是专门用来设置
16、选项的,它的用法如下:在 s e t命令名后输入选项名,如果该选项需要赋一个值,就在选项名后输入一个“=”,后面给出代表值的字符串。例如,命令 set prompt=*用来设置m a i l x的提示符为“*”,而不是通常的“?”。s i g n选项是一个常用的邮件选项,它用于指定一个放在信件结尾的签名。签名一般包括用户的名字,还可以加上电话号码或网络地址。在下面的示例中,将签名设置为“Justin and C h r i s”:24第一部分 电 子 邮 件下载alias myclass justin chris dylan aleina larisa marisa leslieset sig
17、n=Justin and Chris在信件中插入签名时,使用 t i l d e r命令 a。一般在完成信件内容的输入后,就可以在信件的结尾使用 a命令插入签名,示例如下:另一个比较常用的选项是 r e c o r d选项,它用来拷贝用户发送的每一封信件。使用 r e c o r d命令时,需要指定一个用于保存信件拷贝的邮箱文件。在下面给出的示例中,用户通过 r e c o r d选项,将用来保存信件拷贝的邮箱文件设置为 s e n t b o x。在用户指定邮箱文件时,一般需要给出它的绝对路径名,如果没有指出的话,就默认为用户的起始目录。set record=sentbox表2-8中列出了各
18、种m a i l x选项。表2-8 mailx选项选项作用a p p e n d将保存的信件放在邮箱的后面,而不是邮箱的前面(缺省情况下该选项无效)a s k s u b提示信件的主题set asksuba s k c c提示抄送地址set askcca u t o p r i n t在删除信件时,提示最后被删除信件的下一封信件(缺省无效)c m d=c m d指定管道操作使用的缺省命令(缺省无效)c r t=n采用用户PA G E R程序显示行数大于n的信件(缺省无效)d b u g进入给出详细信息的调试模式,但不实际传送信件(缺省无效)d o t采用句点代替C t r l-d结束信件的输入
19、(缺省无效)e s c a p e=c指定字符c为输入模式下的转义字符f l i p r转换R和r命令的作用,以使 R命令用来回复发件人,r命令用来回复其他收件人(缺省无效)f o l d e r=d i re c t o ry将S或s命令创建的邮箱文件保存在指定目录中set folder=$HOME/mail h e a d e r启动时显示头部摘要信息(缺省有效)h o l d使读过的信件保持在收件箱里,而不移动到 m b o x里(缺省无效)i g n o r e在撰写信件时忽略中断(缺省无效)i g n o r e e o f在撰写信件时不使用C t r l-d结束输入(缺省无效)i
20、n d e n t p r e f i x=s t r i n g指定插入在回复信件里的原信件内容中每一行前添加的字符串(缺省为 t a b)k e e p保持空邮箱文件(缺省无效)k e e p s a v e当将一封信件保存在某一个邮箱文件时,在标准的邮箱文件里(通常为m b o x)也保存同一信件的一份拷贝(缺省无效)m e t o o向别人发送一封信件的同时,也向自己发送一份拷贝,缺省情况下作者的地址不出现在邮件地址列表中(缺省无效)o u t f o l d e r将用来保存发送信件的邮箱文件放在信件夹目录中p a g e在使用管道命令一次输送多个信件时,该选项用来在每一封信件之间插
21、入一个f o r m f e e d,以便每一封信件都在自己的屏幕上开始(缺省无效)p r o m p t=s t r i n g重新设置m a i l x的提示set prompt=&第2章 电子邮件程序mailx 25下载(续)选项作用r e c o r d=f i l e n a m e将所有创建和发送的信件都拷贝一份到 f i l e n a m e指定的邮箱文件里set record=$H O M E/o u t b o xs a v e将不完整的信件放在用户的d e a d邮箱文件里s c r e e n=n设置头部摘要信息的显示行数s e n d w a i t在继续使用m a
22、i l x程序之前等待后台邮件程序处理完毕s h o w t o在显示头部摘要信息时,对于用户是发件人的那些信件,就不再显示用户的名字而只显示其他收件人的名字s i g n=s t r i n g用来定义信件签名,可以采用a命令将这种方式定义的签名插入到信件中set sign=Justin and Dylan S i g n=s t r i n g用来定义信件签名,可以采用 A命令将这种方式定义的签名插入到信件中t o p l i n e s=n指定t o p命令显示头部摘要信息的行数(缺省为 5)q u i t不显示标识行(缺省无效)m a i l x配置变量M B O X=f i l e
23、n a m e用于设置m b o x文件名,m b o x文件专门用来自动保存已读过的信件DEAD=f i l e n a m e指定用于保存不完整信件的d e a d邮箱文件L I S T E R=c m d指定用来显示信件夹目录信息的命令(缺省为 l s)E D I TO R=c m d指定通过 e命令启动时使用的编辑器(缺省为 Vi)V I S U A L=c m d指定通过 v命令启动时使用的编辑器(缺省为Vi)PA G E R=c m d指定一个需要使用的PA G E R程序(缺省为p g或m o r e)s e n d m a i l=c m d为邮件程序指定一个邮件传输代理(缺省
24、通常为 sendmail 或r m a i l)2.3.3 管理邮箱文件各种邮箱文件所在的目录是不相同的。如果用户没有另外指定一个目录,所有使用 s命令创建的邮箱文件就都放在当前的工作目录中,而不管在启动 m a i l x时所在的目录。采用这种方式创建的邮箱文件,可能会分散到不同的目录中。m b o x文件和采用 S命令创建的邮箱文件,都位于用户的起始目录中。而用于保存发送信件的邮箱文件,却放在r e c o r d选项指定的目录中。不过,除了用户起始目录和工作目录之外,还可以使用 f o l d e r、M B O X和o u t f o l d e r等选项将收件箱、保存箱或发送信件的邮
25、箱文件放在任何一个你指定的目录中。设置f o l d e r选项时,在选项名f o l d e r后指定一个目录的路径名。这样,以后所有采用 S命令创建的邮箱文件都被放在上述指定的目录中。该目录也叫做信件夹(f o l d e r)目录,可以采用字符+代表,即如果在邮箱文件名前加上一个+,就表示是在f o l d e r选项指定目录中的邮箱文件。例如,当你使用f o l d e r命令进行邮箱切换时,可以在指定邮箱名前加上一个+,这样m a i l x就自动在信件夹目录中查找邮箱文件。下面给出了一个设置 f o l d e r选项的示例:set folder=/home/dylan/mail在
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- unix 网络 编程 部分
限制150内