mail、Mail 或 mailx 命令
用途
发送和接收邮件。
语法
要阅读待收邮件,请输入:
邮件 -e
mail -f[-dlHNn] [-F] [FileName]
mail[-dlHNn] [-F] [-u UserID]
发送邮件
描述
mail 命令调用邮件实用程序,使您能够:
- 读取新来的邮件。
- 发送邮件。
另外,可以使用可用的选项和子命令来定制您发送和接收邮件的方法。
mail 命令可用于系统邮箱和个人邮箱两类邮箱。
新来的邮件存储在系统邮箱内。 缺省情况下,用户的系统邮箱是位于 /var/spool/mail 目录中的一个文件。 邮箱文件以用户标识命名。 例如,如果用户标识是 jeanne,那么系统邮箱是 /var/spool/mail/jeanne。
缺省情况下,当用户读取、删除或保存在其系统邮箱内的所有邮件时,邮箱被删除。 要不删除邮箱,请使用 set 子命令来设置 keep 选项。
除系统邮箱以外,还有一个用户的个人邮箱。 读取消息后,如果未删除消息或将其保存到文件中,那么这些消息会标记为移至个人邮箱。 缺省情况下,个人邮箱为 $HOME/mbox。 例如,如果主目录是 /home/lance,那么个人邮箱为 /home/lance/mbox。 将消息移到一个文件夹内或将其删除之前,消息会一直保留在个人邮箱中。
文件夹提供了有组织地保存消息的方法。 您可以根据需要的数量创建文件夹。 根据文件夹中所包含的消息的主题来命名每个文件夹。
- 对一个邮箱运行 mail 命令的多个实例时,结果是不可预测的。
- 虽然命令名不相同,但 mail、Mail 或 mailx 命令提供完全相同的功能。
检查邮箱的内容
要处理邮件,请在系统提示符下输入 mail。 Mail 程序对于系统邮箱中的每一封邮件显示一行条目:
Mail [5.2 UCB] [AIX 7.1] Type ? for help.
"/var/spool/mail/lance": 2 messages 2 new
>N 1 karen Thu Sep 17 14:36 13/359 "Dept Meeting"
N 2 lance@zeus Thu Sep 17 15:06 10/350 "Delay"
N 3 karen Thu Sep 17 14:36 13/359 "Meeting Cancel"当前消息由标题摘要中某行开头的> 标记。
每一行条目显示以下字段:
| 项 | 描述 |
|---|---|
| 状态 | 表示一封邮件的当前类。 状态可以是以下的任何形式:
没有状态的消息表示该消息已经读取但是没有删除或保存。 |
| 编号 | 标识消息的数字顺序。 |
| 发件人 | 标识发送邮件者的地址。 |
| 日期 | 指定接收消息的日期。 |
| 大小 | 定义包含在信件中的行数和字符数(包含标题)。 |
| 主题 | 标识消息的主题。 |
最后,在邮件列表之后, Mail 程序会显示邮箱提示,缺省情况下是 ?。 以指示它正在等待输入。
标志
| 项 | 描述 |
|---|---|
| -c Address(es) | 指定要向其发送消息副本的用户列表。 可以指定一个或多个地址。 当指定多个地址时,地址列表必须在引号 ("") 内。 |
| -d | 指定与用户邮箱相关联的调试信息
注: 当程序处于调试方式时,不会发送消息。
|
| -e | 测试系统邮箱内是否有邮件。 如果存在要读取的邮件,mail 实用程序会退出而不会写入任何内容,并且显示成功返回码。 |
| -f FileName | 从指定的文件读取消息。 如果没有指定文件操作数,那么从 mbox 读取消息。 从读取消息退出时,未删除的消息会写到这个文件中。 |
| -f | 将消息记录在以收件人命名的文件中。 该名称是在邮件标题中 To: 行的地址的最前部分。 如果设置则覆盖 record 变量。 |
| -h | 仅写标题摘要。 |
| -i | 导致 tty 中断信号被忽略。 |
| -n | 禁止读取 /usr/share/lib/Mail.rc 文件。 |
| -l | 将 From User 字段扩展为 256 个字符以处理长用户名。 |
| -N | 禁止标题的初始打印。 |
| -s 主题 | 指定将创建的消息的主题。 |
| -u UserID | 指定与执行 mail -f /var/spool/mail/UserID 等同的缩写。 为指定的用户的邮箱启动 Mail 程序。 必须有指定邮箱的访问许可权。 |
| -v | 将 Mail 程序置为详细方式。 显示传送到用户终端的详细信息。 |
环境变量
以下环境变量影响到邮件的执行:
| 项 | 描述 |
|---|---|
| DEAD | 如果中断或发送出错而保存部分消息的文件的路径名。 |
| EDITOR | 当使用 edit 或 ~e 命令时使用的编辑器的路径名。 |
| HOME | 用户主目录的路径名。 |
| 利斯特 | 一个字符串,表示当指定 folders 命令时,用于将文件夹目录的内容写入标准输出的命令。 可作为 sh -c 命令的命令字符串 (command_string) 操作数的可接受的任意字符串都是有效的。 如果此变量为空或没有设置,那么输出命令将为 ls。 取消设置缺省值。 |
| 邮箱 (mailbox) | 为 mail 命令指定系统邮箱位置。 MAILBOX 值是 mail 命令搜索邮件消息的位置。 如果没有指定 MAILBOX 环境变量,那么系统缺省值为 /var/spool/mail 目录。 |
| 邮件配置文件 | 个人启动文件的路径名。 缺省值为 $HOME/.mailrc。 |
| mbox | 从已读取的系统邮箱保存消息的个人邮箱的路径名。 exit 命令覆盖此功能,就如同将消息明确地保存到另一个文件中。 缺省值为 $HOME/mbox。 |
| pager | 字符串表示将输出写到终端的输出过滤器或分页命令。 对作为 sh-c 命令的命令字符串 (command_string) 操作数接受的任意字符串都是有效的。 当标准输出为终端设备时,如果邮件内部变量 crt 被设置到一个小于消息中的行数的值,那么消息输出将通过该命令输送。 如果 PAGER 变量为空或没有设置,那么 paginator 是 pg shell 命令。 |
| SHELL | 首选的命令解释器的路径名。 |
| VISUAL | 当使用 visual 命令或 ~v 命令跳转 (command-escape) 时调用的实用程序的路径名。 如果不设置这个变量,那么全屏编辑器为 vi。 |
Mail 中的内部变量
| 项 | 描述 |
|---|---|
| 全部 | 等同地处理登录名组件匹配的所有网络名。 导致 msglist 消息规范行为相似。 缺省值为 noallnet。 |
| 追加 (append) | 将保存在邮箱中的消息添加到 $HOME/mbox 文件结尾,而不是文件开头。 缺省值为 noappend。 |
| 询问, asksub | 如果没有在命令行中用 -s 选项指定,那么提示输入每条消息主题。 如果不希望创建主题字段,请在提示符下按 Enter 键。 不可能同时设置 ask 和 noasksub 或者 noask 和 asksub。 缺省值为 asksub。 |
| askbcc | 提示添加到暗送副本列表的人员的地址。 如果不希望发送暗送副本,请在提示符处按 Enter 键。 |
| askcc | 提示应该接收消息副本的人员的地址。 如果不希望发送副本,请在提示符处按 Enter 键。 |
| autoprint | 设置 delete 子命令来删除当前消息并显示下一条消息。 |
| crt | 指定显示消息时,在使用任何输出过滤器或分页之前消息必须包含的最小行数。 |
| 调试 | 显示调试信息。 在调试方式下不发送消息。 这与在命令行中指定 -d 标志相同。 |
| 点 | 将行中输入的句点解释为正在发送的消息的结尾。 |
| 转义=c | 将命令转义字符设置为字符 c。 缺省情况下,命令转义字符为 ~ (波浪号)。 |
| Replyall 和 flipr | 反转 Respond 和 respond 或 Reply 和 reply 命令的含义。 缺省值为 noflipr。 |
| folder=目录 | 存储邮件文件夹的目录名。 定义目录后,当将 FileName 参数与 mailbox 子命令配合使用时,可以使用 + (加号) 表示法来引用该目录。 |
| 页眉 (header);头;报头 | 当以接收方式进入邮件时,启用写标题摘要。 缺省值为 header。 |
| 挂起 | 保留已读取但是还没有删除或存储在系统邮箱而非个人邮箱的消息。 缺省值为 nohold。 |
| 忽略 | 进入消息时忽略中断。 以 @ (at) 字符回显中断。 |
| ignoreeof | 设置 mail 命令拒绝 Ctrl+D 键序列作为消息的结束。 只能通过输入句点来终止输入。 (句点) 在一行上单独或通过 ~. 命令转义。 缺省值为 noignoreeof。 |
| indentprefix=字符串 | 作为前缀添加到由 ~m 命令转义来插入消息的每一行的字符串。 这个变量缺省值为一个制表符。 |
| keep | 当系统邮箱、第二邮箱或 mbox 为空时,将其长度截为零而不是将其删除。 缺省值为 nokeep。 |
| 保存 | 保留已经用 (s)ave 或 (w)rite 子命令保存在系统邮箱中的消息,而不将其删除。 缺省值为 nokeepsave。 |
| metoo | 如果发件人的名称是别名的一部分,那么在别名扩展里包含发件人。 缺省情况下,扩展别名会删除发件人。 |
| 单跳 | 当响应那些最初发送到几个收件人的消息时,通常会强制其他接收方地址相对最初作者的机器来响应。 该标志禁用收件人地址修改,提高了网络效率,在网络中所有机器可以直接发送到所有其他的机器(即一个中继范围)。 缺省值为 noonehop。 |
| 输出文件夹 | 除非使用绝对路径名,否则会将用于记录发出消息的文件放置在以 folder 变量指定的目录中。 缺省值为 nooutfolder。 查看 record 和 folder 变量。 |
| 页 | 在每一个通过 pipe 命令创建的管道发送的消息后插入换页符。 缺省值为 nopage。 |
| 提示 = 字符串 | 设置命令方式提示符为 string。 如果 string 为空或已设置 noprompt,那么不出现提示符。 默认是用 "?" 提示 请指定有效字符串。 |
| quiet | 当输入邮件时避免写打开的消息和版本。 缺省值为 noquiet。 |
| 记录=文件 | 定义在其中记录所有发出邮件的文件。 缺省值为 norecord。 |
| save | 启用在中断或传送错误时将消息保存在 dead.letter 文件中。 缺省值为 save。 |
| 屏幕=number | 为 headers 和 z 命令设置在一屏标题中的行数。 |
| sendmail = shell_command | 发送消息的备用命令。 |
| 发送等待 | 在返回之前等待后台邮件程序完成。 缺省值为 nosendwait。 |
| 显示 | 当消息发件人是调用邮件的用户时,在标题摘要的 To: 行而不是 From: 行中写信息。 缺省值为 noshowto。 |
| 符号 = 字符串 | 在给出 ~ a 命令转义时,将 string 插入到消息文本中。 缺省值为 nosign。 字符序列 /t 和 /n 在字符串内被分别识别为制表符和换行符。 |
| Sign= 字符串 | 当给出 ~ A 命令转义时,将 string 插入到消息文本中。 缺省值为 nosign。 |
| toplines= number | top 子命令显示的行数。 |
| verbose | 在终端上显示实际传送的消息。 这与在命令行中指定 -v 标志相同。 |
设置环境变量
Bourne shell(bsh 命令)使用并检查以下变量。 可以在 $HOME/.profile 中设置这些变量。
| 项 | 描述 |
|---|---|
| 邮件 | 指定由 Bourne shell 检查用户系统邮箱的位置和名称来确定您是否有邮件。 如果系统邮箱非空,那么 Bourne shell 会发送消息,告诉您有新邮件。 Bourne shell 基于 MAILCHECK 环境变量的值来定期检查系统邮箱。 |
| MAILCHECK | 指定 Bourne shell 检查系统邮箱中邮件的时间间隔。 |
| MAILMSG | 指定有邮件时由系统发送到控制台 shell 的消息。 缺省消息与以下内容相似: |
安全性
示例
- 要启动 Mail 程序并列示邮箱中的消息,请在命令行提示符下输入以下信息:
mail 命令列示在系统邮箱中的每条消息。 然后,邮件系统将显示邮箱提示 (?) 以指示 正在等待输入。 当您看到此提示符时,请输入任何邮箱子命令。mail要查看子命令列表,请输入:
本条目列示 Mail 子命令。 - 发送消息letter收件人user1@host1并复制到user2@host2和user3@host3,类型:
mail -c "user2@host2 user3@host3" user1@host1<letter - 要查看个人邮箱的内容,请输入:
该命令显示个人邮箱 $HOME/mbox 中消息的列表。mail -f - 要查看指定邮件文件夹的内容,请输入:
此命令显示dept文件夹。mail -f +dept - 要将消息发送到本地系统的用户,请输入:
完成向用户输入消息时ron,按 Enter 键并按任一键。 (句点)或 Ctrl+D 来退出编辑器并发送消息。 要确定某用户是否在本地系统,请在 /etc/passwd 文件中查看该用户名。mail ron如果消息成功发送,将不会收到通知。 如果消息无法发送,将发送给您一个错误信息。
- 要将一个文件通过邮件发送到本地系统的另一位用户,请输入:
此命令发送文件的内容letter1到用户karen在本地系统上。 命令发送文件后,Mail 程序显示命令行提示符。mail karen < letter1 - 要将消息发送到一个远程系统上的用户,请输入:
现在,您可以创建消息dale。在此示例中,您将向用户发送消息dale在远程系统上zeus。要向通过网络连接到您系统的另一个系统上的用户发送消息,您必须知道此人的登录标识和另一个系统的名称。mail dale@zeus
mail、Mail 和 mailx 命令的邮箱子命令
从邮件提示符 ? (问号)下可以输入子命令来操作邮箱中的邮件。 使用带 MessageList 参数的子命令来一次处理多条消息。 使用带 FileName 参数的子命令来处理文件或文件夹。 这些参数在 网络和通信管理中的 Mail 命令和子命令 中讨论。
以下列表描述 Mailbox 子命令及其功能:
| 项 | 描述 |
|---|---|
| = | 回显当前消息的数目。 |
| # | 用于在邮件脚本文件中写入注释的注释字符。 |
| - | 显示前一条消息。 |
| ? | 显示 mailbox 子命令的简短摘要。 与 help 子命令相同。 |
| !命令 | 执行由 Command 指定的工作站 shell 命令。 |
| alias | (a) 不带参数时,将显示所有当前定义的别名及其相应地址。 带一个参数,显示一个别名。 带多个参数,创建一个新别名或更改旧的别名。 与使用 group 子命令相同。 |
| 备用 AlternatesList | (alt) 如果您在几台机器上有帐户,那么 alternates 子命令就比较有用。 使用此子命令来通知 Mail 程序:列示在 AlternatesList 内的所有地址均指向您。 当您使用 reply 子命令来应答消息时, Mail 程序不会将消息副本发送到 AlternatesList中给出的任何地址。 如果您输入不带参数的 alternates 子命令,那么 Mail 程序显示当前备用名称的集合。 |
| chdir 目录 | (cd) 将工作目录切换到所指示的 Directory。 如果不给定目录,那么该命令更改到您的登录目录。 |
| copy [MessageList] 文件 | (c,co) 将 MessageList 中的每一条消息附加到 File 结尾。 在用户的终端,显示后跟行数和字符数的用引号括起来的文件名。 当您退出时不删除任何消息。 |
| 复制 [MessageList] | (C) 将指定的消息保存在文件中,该文件的名称取自要保存的消息的作者,且不将消息标记为已保存。 否则,该命令与 Save 子命令相同。 |
| 删除 [MessageList] | (d) 当退出 Mail 程序时将 MessageList 中的消息标记为已删除。 输入不带消息列表的 d 子命令会删除当前消息。 已删除的消息不保存在 $HOME/mbox 文件中,也不可用于大多数的其他命令。 但是,可以使用 undelete 子命令来恢复在同一邮箱会话中删除的消息。 如果删除消息并更改为其他邮箱或使用 quit 子命令退出邮箱,那么无法重新调用已删除的消息。 |
| 丢弃 [ FieldList ] | (di) 与 ignore 子命令相同。 注: retain 子命令覆盖 discard 子命令。
|
| dp | 删除当前消息并显示下一条消息。 如果没有下一条消息,那么将显示 Mail 程序EOF. 与 dt 子命令相同。 |
| dt | 删除当前消息并显示下一条消息。 如果没有下一条消息,那么将显示 Mail 程序EOF. 与 dp 子命令相同。 |
| echo 字符串 | 在命令行上显示字符串 String。 |
| 编辑 [MessageList] | (e) 使用 MessageList 作为输入文件来启动备用编辑器。 要定义备用编辑器,请使用 set EDITOR= 语句或在 $HOME/.mailrc 文件中放置此条目。 用 MessageList 参数指定的任何消息保留在编辑器会话的过程中所做的更改。 |
| EXIT | (ex 或 x)离开邮箱,不更改邮箱的原始内容而返回到操作系统。 邮箱会恢复为 Mail 程序启动时的状况。 标记为要删除的消息未被删除。 与 xit 子命令相同。 |
| 文件 [名称] | (fi) 与 folder 子命令相同。 |
| 文件夹 [名称] | (fo) 切换到新邮件文件或文件夹。 不带此参数时,子命令显示当前邮箱名。 如果包含一个参数,它存储当前邮箱更改(例如已删除的消息)并读取由 Name 参数指定的新邮箱。 与 file 子命令相同。 Name 可识别的一些特殊约定:
|
| 文件夹 | 列示文件夹目录中的文件夹名。 |
| 跟进 [消息] | (fo) 响应消息,并将响应记录在文件中,该文件的名称取自消息的作者。 如果设置则覆盖 record 变量。 |
| 后续 [MessageList] | (F) 响应 msglist 中的第一条消息,并将消息发送到 msglist 中的每一条消息的作者。 主题行取自第一条消息,且响应记录在文件中,该文件的名称取自第一条消息的作者。 |
| 来自 [MessageList] | (f) 显示 MessageList 中的消息标题。 |
| 组 | (g) 与 alias 子命令相同。 |
| 头 [消息] | (h) 列示在当前消息组(缺省情况下每条消息组包含 20 条消息;用 set screen= 语句来更改消息组)的标题。 如果邮箱包含的消息比一次能在屏幕上显示的消息要多,那么将仅显示关于第一组消息的信息。 要查看有关其余消息的信息,请将 h 子命令与下一个消息范围中的消息号配合使用,或者使用 z 子命令来更改当前消息组。 |
| help | 显示 mailbox 子命令的简短摘要。 与 相同? 子命令后面的 !(感叹号)提示。 |
| 保持 [ MessageList ] | (ho) 标记 MessageList 中的每一条消息都保存在系统邮箱 (/var/spool/mail/UserID) 中,而不是在 $HOME/mbox 文件中。 不覆盖 delete 子命令。 与 preserve 子命令相同。 |
| 项 | 描述 |
|---|---|
| 如果 Conditionelseendif | mail 子命令的条件的执行结构。 跟在 if 后的子命令在条件 Condition 为 true 时执行。 跟在 else 后的子命令在条件 Condition 不为 true 时执行。 else 不是必要的。 endif 结束此结构并且是必要的。 Condition 可以是接收(接收邮件)或发送(发送邮件)。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 项 | 描述 |
|---|---|
| 管道 [[msglist]命令] | [[msglist] 命令]] | (pi) 通过使用两个自变量 -c 和 command调用由 SHELL 指定的命令解释器来通过给定命令来管理消息。 该命令必须作为单独的参数给出。 可以通过加引号实现这一点。 如果不给定参数,那么当前消息将通过由 cmd 变量的值来指定的命令进行输送。 如果设置了page 变量,那么将在每条消息后插入换页符。 |
| preserve | (pre) 与 hold 子命令完全相同。 |
| 打印 [ MessageList ] | (p) 显示指定的消息的文本。 与 type 子命令相同。 |
| 打印 [MessageList] | (P) 显示带有忽略标题字段的特定消息的文本。 与 type 子命令相同。 |
| 退出 | (q) 离开邮箱并返回到操作系统。 将所有已读取(不是删除或保存的)的消息存储在个人邮箱 ($HOME/mbox) 中。 将所有已标记为要删除的消息从邮箱中删除并且无法恢复。 所有使用 暂挂 或 保留 选项标记的消息以及尚未查看的消息都将保存在系统邮箱 (/var/spool/mail/用户标识) 中。 当用 -f 标志编辑邮箱文件时,如果给出了 quit 子命令,那么编辑的文件将保存所做的更改。 如果编辑文件不能保存,那么 Mail 程序不会退出。 使用 exit 子命令退出而不保存更改。 |
| 应答 [消息] | (r) 允许回复消息的发件人和其他所有接收到消息副本的人。 与 Respond 子命令相同。 |
| 应答 [消息] | (R) 仅允许回复消息的发件人。 与 Respond 子命令相同。 |
| 响应 [消息] | 允许回复消息发件人和其他所有接收到消息副本的人。 与 reply 子命令相同。 |
| 响应 [消息] | 仅允许回复消息的发件人。 与 reply 子命令相同。 |
| 保留 [FieldList] | 将 FieldList 中的标题字段添加到保留字段列表。 当您使用 type 子命令或 print 子命令查看消息时,将显示保留字段。 使用此子命令来定义要显示的标题字段。 使用 Type 或 Print 子命令打印完整的消息,包括未保留的字段。 如果 retain 子命令不带参数执行,那么它列示保留字段的当前集合。 注: retain 子命令覆盖 discard 子命令。
|
| save [ 文件 ] | (s) 将包括标题信息在内的当前消息保存到文件或文件夹。 如果文件已存在,那么将消息附加到该文件。 如果省略 File 字段,那么将消息保存到用户的 mbox 中。 |
| save [MessageList] 文件 | (s) 将包括标题信息的 MessageList 保存到文件或文件夹。 如果文件已存在,那么将 MessageList 附加到该文件。 当操作完成时显示文件名和文件大小。 如果将某条消息保存到文件,那么在退出 Mail 程序时,该消息并不会返回到系统邮箱 (/var/spool/mail/UserID),也不会保存到个人邮箱($HOME/mbox)中。 |
| 保存 [MessageList] | (S) 将指定的消息保存在文件中,该文件的名称取自第一条消息的作者。 文件名是以去掉所有网络地址的作者的名字而得来的。 |
| set [OptionList | 选项=值...] | (se) 不带参数时,将显示当前启用的选项。 否则,设置选项为指定的选项。 跟在 set 命令后的参数可以是下列之一:
这些选项以 .mailrc 文件格式列示。 注: 表单 unset name 等同于 noname。
|
| shell | (sh) 启动 shell 的交互式版本。 |
| 大小 [MessageList] | 以行数/字符数显示 MessageList 中消息的大小。 |
| 源 文件 | (so) 从 File读取并执行 mail 子命令。 |
| 顶部 [MessageList] | 显示由 MessageList 指定的消息的最上面几行。 显示的行数由选项 toplines 的值确定(缺省为 5)。 |
| 触摸 [MessageList] | 在系统邮箱 (/var/spool/mail/UserID) 内,退出 Mail 程序时子命令标记 MessageList 中要移动到个人邮箱 ($HOME/mbox) 的消息。 尽管您没有读取消息,也要将其移动。 在个人邮箱中将消息作为未读消息显示。 在 MessageList 中的最后一条消息成为当前消息。 |
| 类型 [ MessageList ] | (t) 显示特定消息的文本。 与 Print 子命令相同。 |
| 类型 [MessageList] | (T) 显示带有忽略标题字段的特定消息的文本。 与 Print 子命令相同。 |
| unalias | 删除指定的别名。 |
| 取消删除 [MessageList] | (u) 退出 Mail 程序时,从要被删除的消息列表中删除 MessageList 中的消息。 如果输入不带消息列表的 u 子命令,会再次调用上一条删除的消息。 |
| 未读 [ MessageList ] | (U) 将 MessageList 中的每条消息标记为未读。 与 new, New和 Unread 子命令相同。 |
| 未读 [MessageList] | 将 MessageList 中的每条消息标记为未读。 与 new, New和 unread 子命令相同。 |
| 未设置 OptionList | 禁用 OptionList 中指定的选项的值。 此操作为 set 子命令的逆操作。 注: 表单 unset name 等同于 noname。
|
| version | (ve) 显示 Mail 程序的版本条幅。 |
| 可视 [MessageList] | (v) 使用 MessageList 作为输入字段来启动可视编辑器。 (此编辑器可以用 set VISUAL= 语句定义。) 将在编辑器会话的过程中所做的任何更改保存回 MessageList 中的消息。 |
| write [MessageList] 文件 | (w) 将没有标题信息的消息保存到一个文件或文件夹。 当操作完成时显示文件名和文件大小。 在文件中不包括消息标题。 |
| 退出 | (x) 与 exit 子命令相同。 |
| z [+ | - ] | 更改当前消息组(一组有 20 条消息)并显示该组中的消息标题。 如果+或者不提供参数,那么将显示下一个组中的标题。 如果指定 - 参数,那么会显示前一组中的标题。 |
mail 和 Mail 命令的邮件编辑器子命令
缺省情况下,Mail 程序将以 ~(波浪号)字符开始的行作为子命令。 以下列表描述了在邮件编辑器中时所用的子命令。 只有在一个新行的开始输入子命令,编辑器才会识别这些子命令。
| 项 | 描述 |
|---|---|
| ~? | 显示 mail 子命令的摘要。 |
| ~!命令 | 使用以下两个参数调用 SHELL 指定的命令解释器:-c 和 command。 命令的标准输出将插入到消息中。 |
| ~ a | 将 sign 变量的值插入到消息文本,后面跟随一个换行符。 与 ~i 符号相同。 |
| ~ A | 将 sign 变量的值插入到消息文本,后面跟随一个换行符。 与 ~i 符号相同。 |
| ~ b AddressList | 将 AddressList 中的名称添加到接收消息的暗送副本的地址列表中。 ~ b 子命令只能用于添加,而不是更改或删除该子命令的内容。 Bcc: List。 |
| ~ c AddressList | 将 AddressList 中的名称添加到接收消息副本的人员列表。 ~ c 子命令只能用于添加 (而不是更改或删除)Cc: List。 |
| ~ d | 将 dead.letter 文件的内容附加到消息结尾。 |
| ~ e | 使用消息文本作为输入文件来启动备用编辑器。 (此编辑器可以用 Bourne shell 中的 set EDITOR= 语句定义。) 退出此编辑器时,返回到邮件编辑器,在此处可以添加文本或通过退出 Mail 程序来发送消息。 |
| ~ f [MessageList] | 包含当前消息的 MessageList 以转发消息到另一个用户。 本子命令读取 MessageList 中的任何消息并将其附加到当前消息结尾,但不缩进附加消息。 此子命令还用于为其页边距过宽而无法与 ~ m 子命令嵌入的引用追加消息。 仅当您使用 mail和 reply从邮箱提示符输入邮件编辑器时,此子命令才有效。 或 Reply 子命令。 |
| ~ F [MessageList] | 基本等同于 ~m,区别在于消息中会包括所有的标题,而无论以前是否运行过 discard、ignore 和 retain 命令。 |
| ~ h | 允许添加或更改在所有标题字段中的信息。 系统显示四个标题字段中的每一个,每次显示一个。 可以查看每个字段的内容,并且可以在字段中删除或者添加信息。 按 Enter 键来保存任何对该字段的更改并显示下一个字段及其内容。 |
| ~ i 字符串 | 将跟有换行符的指定的变量的值插入到下一条消息文本中。 如果字符串取消设置或为空,那么将不更改消息。 |
| ~ m [MessageList] | 包括当前消息中的 MessageList,以作参考。 子命令读取 MessageList 中的任何消息并将其附加到当前消息结尾。 包含的消息从消息的常规左页边距缩进一个制表符。 仅当您使用 mail和 reply从邮箱提示符输入邮件编辑器时,此子命令才有效。 或 Reply 子命令。 |
| ~ M [MessageList] | 基本等同于 ~m,区别在于消息中会包括所有的标题,而无论以前是否运行过 discard、ignore 和 retain 命令。 |
| ~ p | 显示完整的消息,包含标题信息。 |
| ~q | 退出编辑器,而不发送消息。 除非设置了 nosave 选项,否则会将消息保存在主目录的 dead.letter 文件中。 dead.letter 文件的以前内容由部分完成的消息替换。 注: 您还可以使用两次 "中断" (Ctrl + C) 键序列来退出编辑器。
|
| ~ r 文件 | 将文件的内容读取到当前消息中。 |
| ~ s 字符串 | 将主题字段更改为 String 中指定的短语。 不能用本子命令来附加到主体字段。 |
| ~ t AddressList | 将 AddressList 中的地址添加到To:消息的字段。 ~ t 子命令只能用于添加,而不是更改或删除To: List。 |
| ~v | 使用消息文本作为输入文件来启动可视编辑器。 此编辑器可以用 Bourne shell 中的 set VISUAL= 语句定义。 退出此编辑器时,返回到邮件编辑器,在此处可以将文本添加到消息或通过退出 Mail 程序来发送消息。 |
| ~ w 文件 | 将消息写到指定的文件。 |
| ~ x | 和 ~q 基本一样,退出编辑器,区别在于不将消息保存到 dead.letter 文件中。 |
| ~: 子命令 | 执行由 Subcommand 指定的子命令并返回到邮件编辑器。 |
| ~ | 命令 | 通过命令 Command 作为过滤器来传送消息。 如果 Command 不给定输出或异常终止,那么它保留消息的原始文本。 否则,Command 的输出替换当前消息。 fmt 命令通常用作 命令 来格式化消息。 |
| ~< 文件 | 将文件的内容读取到当前消息中。 |
| ~<!命令 | 允许运行 shell 命令。 shell 会使用 -c 标志运行指定的 Command。 将 Command 的标准输出插入到消息。 |
| ~~ | 允许您使用~消息中的 (波浪号) 字符,而不将其解释为命令前缀。 该~~键序列仅生成一个~正在消息中发送的字符。 |
文件
| 项 | 描述 |
|---|---|
| $HOME/.mailrc | 包含 mail 子命令来对特定的用户定制 Mail 程序。 |
| $HOME/mbox | 包含个人邮箱。 |
| /usr/share/lib/Mail.rc | 包含对于在系统上的所有用户用 mail 子命令来更改 Mail 程序的文件。 |
| /var/spool/mail/* | 包含所有用户的系统邮箱。 |
| /usr/bin/mail | 包含 mail 命令。 |
| /usr/bin/Mail | 包含 mail 命令。 |
| /usr/bin/mailx | 包含 mailx 命令。 |