第 8 章 电 子 邮 件

你 的 Linux 系 统 拥 有 电 子 邮 件 程 序 , 它 能 够 让 你 给 本 地 系 统 或 者 是 其 他 在互 联 网 中 的 系 统 上 的 其 他 用 户 发 送 消 息 。 你 能 够 通 过 多 种 途 径 来 发 送 和 接 收 消息 , 当 然 这 要 取 决 于 你 所 用 的 电 子 邮 件 程 序 。 这 本 书 提 供 了 Linux 系 统 中 两 种最 流 行 的 电 子 邮 件 的 使 用 方 法 : Mail 和 Elm .。 它 们 都 定 义 了 一 种 不 同 类 型 的 界面 。 虽 然 所 有 的 电 子 邮 件 程 序 都 同 样 能 够 执 行 发 送 和 接 收 消 息 的 基 本 任 务 , 它们 却 会 拥 有 不 同 的 界 面 。 Mail 程 序 使 用 一 个 基 本 命 令 行 的 界 面 , 并 在 它 自 己 的外 壳 程 序 中 执 行 这 些 命 令 。 在 大 多 数 的 Linux 系 统 上 都 能 找 得 到 Ma il 程 序 , 并且 它 被 公 认 为 是 一 种 标 准 。 Elm 程 序 则 采 取 一 种 全 屏 工 作 的 界 面 , 就 像 在 vi 编辑 器 中 那 样 只 使 用 一 些 单 个 键 的 命 令 。 在 附 上 这 本 书 的 OpenLinux 系 统 中 , 上面 所 说 的 两 种 邮 件 程 序 都 会 提 供 。

此 外 , 用 电 子 邮 件 来 发 送 消 息 , 你 就 能 不 仅 仅 是 依 靠 W rite 和 Talk 这 两 种实 用 程 序 来 和 目 前 在 线 上 的 用 户 通 讯 。 这 些 工 具 为 你 和 其 他 用 户 建 立 起 一 种 直接 的 联 系 , 使 你 能 够 就 像 用 电 话 或 是 无 线 电 一 样 进 行 通 讯 。

本 地 与 互 联 网 地 址

每 一 个 Linux 系 统 上 的 用 户 都 拥 有 一 个 邮 件 地 址 , 并 且 无 论 何 时 , 你 若 想

要 发 送 邮 件 , 你 就 必 须 要 提 供 你 想 要 发 送 消 息 的 用 户 的 邮 件 地 址 。 对 于 那 些 就在 本 地 Linux 系 统 上 的 用 户 , 地 址 只 要 包 含 该 用 户 的 注 册 名 字 就 足 够 了 。 可 是当 你 想 要 给 其 他 系 统 上 的 用 户 发 送 消 息 时 , 你 不 仅 仅 要 知 道 该 用 户 的 注 册 名 , 而 且 还 要 知 道 他 们 所 在 系 统 的 地 址 。 互 联 网 络 上 的 地 址 要 求 一 个 系 统 的 地 址 必须 是 唯 一 可 识 别 的 。

大 多 数 的 系 统 都 有 让 你 发 送 邮 件 的 互 联 网 地 址 。 这 些 互 联 网 的 地 址 采 用 一种 叫 做 域 名 寻 址 的 寻 址 方 式 。 一 个 系 统 被 分 派 一 个 域 名 , 这 个 域 名 与 系 统 名 字结 合 起 来 , 产 生 一 个 属 于 该 系 统 的 特 有 地 址 。 域 名 由 一 个 句 号 与 系 统 名 分 开 , 也 许 还 会 用 一 些 附 加 的 域 名 来 进 一 步 限 制 。 这 是 域 名 地 址 的 语 法 :

login -name@system - name.domain-name

那 些 做 为 一 个 局 域 网 的 部 分 的 系 统 , 通 常 都 被 赋 予 同 样 的 域 名 。 比 如 说U .C.Berkeley 中 的 garnet 系 统 和 violet 系 统 的 域 名 都 叫 做 berkeley.edu .假 如 要给 garnet 系 统 上 的 用 户 chris 发 送 消 息 , 你 就 只 需 要 包 括 这 个 域 名 就 可 以 了 :

chris @garnet.berkeley.edu.

在 下 一 个 例 子 中 , 将 使 用 域 名 寻 址 来 把 一 条 消 息 发 送 给 在 garnet 系 统 上 的用 户 chris.$ mail chris @ garnet.berkeley.edu < mydata

早 期 的 域 名 反 映 了 互 联 网 是 首 先 在 美 国 发 展 起 来 的 这 一 事 实 。 他 们 将 互 联网 地 址 划 分 为 若 干 类 , 比 如 商 业 , 军 事 , 或 是 教 育 系 统 。 域 名 .com 象 征 着 一 个商 业 组 织 , 同 样 的 , .edu 则 用 来 表 示 教 育 机 构 。 随 着 互 联 网 发 展 成 为 一 个 全 球的 互 联 网 络 , 一 套 国 际 性 的 域 名 的 命 名 标 准 建 立 起 来 。 这 些 域 名 能 够 指 明 系 统所 在 的 国 家 。 比 如 .fr 代 表 法 国 , .jp 代 表 日 本 , 而 .us 则 代 表 美 国 。 表 8-1 列出 了 几 种 一 般 常 见 的 国 际 域 名 。

邮 件 传 送 媒 介 : deliver, sendmail , smail

用 邮 件 传 输 媒 介 将 邮 件 发 送 给 目 标 单 元 或 从 目 标 单 元 接 收 到 邮 件 。 De liver 程 序 会 处 理 你 自 己 本 地 系 统 上 的 用 户 之 间 的 邮 件 交 换 , sendmail 和 smail 则 向网 络 上 的 目 标 系 统 或 网 络 上 的 站 点 发 送 和 接 收 邮 件 。 为 了 在 网 络 上 发 送 邮 件 ,

它 们 采 用 了 Simpe Mail Transport Protoc o(l SMTP )。为 了 建 立 更 加 直 接 的 uucp

通 讯 , 它 们 还 使 用 了 uucp 协 议 。 Sendmail 是 一 种 比 较 小 且 易 于 配 置 的 邮 件 传送 媒 介 , 而 smail 则 相 对 要 复 杂 些 , 并 且 拥 有 更 加 丰 富 的 功 能 。 你 的 Caldera 网 络 桌 面 管 理 程 序 会 自 动 为 你 安 装 并 配 置 好 sendmail 程 序 。 只 要 你 一 启 动 你 的Caldera 系 统 , 你 就 能 够 在 互 联 网 络 上 发 送 和 接 收 邮 件 。 如 果 你 正 在 使 用 的 并不 是 这 种 Linux 系 统 , 那 么 你 也 许 只 能 自 己 亲 手 安 装 和 配 置 这 些 邮 件 传 送 媒 介了 。 当 然 你 也 可 以 从 Linux 的 ftp 站 点 上 下 载 这 些 程 序 的 升 级 版 本 , 并 在 你 的 系统 上 安 装 它 们 。

在 你 系 统 上 的 用 户 能 够 在 本 地 系 统 上 发 送 和 接 收 邮 件 之 前 , 你 必 须 要 设置 好 一 个 返 回 界 面 。 这 将 让 你 的 系 统 能 够 确 定 地 址 , 从 而 在 系 统 内 部 发 送 和 接收 邮 件 。 返 回 界 面 将 使 用 localhost 的 主 机 名 以 及 一 个 为 本 地 系 统 使 用 而 保 留 的特 殊 的 ip 地 址 : 127.0.0.1.Caldera 系 统 的 网 络 桌 面 管 理 程 序 的 软 件 包 中 便 已经 安 装 了 这 样 一 个 返 回 界 面 。

你 可 以 查 看 你 的 /etc/hosts 文 件 来 确 认 你 的 返 回 地 址 是 否 已 经 被 设 置 为 本 地的 主 机 。 你 会 看 到 localhost 127.0.0.1 被 列 在 第 一 条 条 目 上 。 如 果 并 没 有“ localhost" 这 一 条 目 , 你 就 只 能 向 下 面 这 样 使 用 ifconfig 和 route 命 令 来 自 己设 置 返 回 地 址 了 。 其 中 lo 是 表 示 返 回 的 术 语 。

Inconfig lo 127.0.0.1

Route addnet 127.0.0.0

检 查 在 目 录 /etc/rc.d /下 的 网 络 初 始 化 文 件 rc.inet1 , 看 看 是 否 有 以 上 这 些 命令 。 如 果 没 有 , 你 应 该 加 上 它 们 。 一 旦 这 些 命 令 被 加 上 去 , 在 你 每 次 启 动 系 统的 时 候 , 返 回 界 面 就 会 自 动 被 创 建 。 在 Redhat 版 本 的 Linux 系 统 中 , 这 个 初 始化 文 件 则 叫 做 ine t, 放 在 /etc/rc.d/init/ 目 录 下 。 可 以 在 本 书 的 第 20 章 网 络 管 理上 查 阅 到 有 关 对 这 些 命 令 和 文 件 更 详 尽 的 阐 述 。

从 远 程 pop 邮 件 服 务 器 上 获 得 邮 件 : popclient

无 论 你 是 通 过 直 接 联 网 还 是 拨 号 到 一 个 网 络 服 务 提 供 商( ISP )上 ,你 的 linux 系 统 都 被 装 备 得 能 够 在 互 联 网 上 发 送 任 何 的 消 息 。 然 而 , 如 果 你 使 用 的 是 一 个ISP , 你 很 有 可 能 是 用 这 个 ISP 的 邮 件 服 务 器 来 接 收 邮 件 。 你 用 来 在 该 ISP 上登 录 的 用 户 名 , 通 常 被 用 做 你 在 该 ISP 邮 件 服 务 器 上 的 电 子 邮 件 名 。 比 如 说 , 如 果 你 用 Larisa 这 个 用 户 名 登 录 到 一 个 ISP 上 , 那 么 你 的 电 子 邮 件 名 也 叫 做Larisa 。 用 这 个 电 子 邮 件 名 发 送 给 你 的 邮 件 会 被 放 在 该 ISP 的 邮 件 服 务 器 上 , 当 你 登 录 到 服 务 器 上 时 , 能 够 在 那 儿 获 得 这 些 邮 件 。 这 种 用 来 接 收 邮 件 的 邮 件服 务 器 通 常 是 一 个 pop 服 务 器 。Pop 表 示 邮 局 协 议 邮 件( Post Office Protoco l).

为 了 获 得 你 的 邮 件 你 就 必 须 登 录 到 你 的 ISP 的 邮 件 服 务 器 上 。

象 ma il 或是 elm 这 样 的 程 序 会 读 取 由 你 的 Linux 系 统 发 送 和 接 收 到 的 邮 件 。目 前 的 这 些 程 序 还 没 有 从 你 的 ISP 邮 件 服 务 器 上 获 得 邮 件 的 能 力 , 因 为 那 是 分离 开 来 的 远 程 系 统 。 然 而 不 管 怎 样 , 你 总 能 够 使 用 popclient 程 序 将 邮 件 从 你 的

ISP 的 POP 服 务 器 上 下 载 到 你 自 己 的 系 统 上 , 然 后 再 使 用 mail 或 是 elm 来 阅读 它 。

为 了 使 用 popclient 你 还 必 须 知 道 你 的 ISP 的 POP 服 务 器 的 网 址 。 通 常 这些 地 址 会 以 popd 开 头 , 例 如 NETCOM 的 POP 服 务 器 的 网 址 就 是popd.ix.netcom.com 。 查 看 你 的 ISP 来 获 得 正 确 的 地 址 名 。 你 还 需 要 确 定 这 个pop 服 务 器 使 用 的 是 POP2 协 议 还 是 POP3 协 议 。绝 大 多 数 的 系 统 都 使 用 POP3 协 议 。 你 可 以 用 -3 来 指 明 是 POP3 协 议 , 同 样 的 , 用 -2 来 指 明 是 POP2 协 议 。此 外 , 你 还 要 提 供 你 在 该 ISP 的 邮 件 服 务 器 上 的 电 子 邮 件 名 。 因 此 你 要 加 上 一个 后 跟 着 电 子 邮 件 名 的 -u 选 项 。 下 面 是 一 个 对 pop3 服 务 器 的 popclient 命 令 语法 :

popclient -3 – u username pop-server

  • 旦 你 执 行 了 上 面 这 条 命 令 , 你 会 被 提 示 输 入 密 码 。 这 将 成 为 你 在 该 pop 服 务 器 上 电 子 邮 件 记 录 的 密 码 。 通 常 这 与 你 用 来 登 录 到 ISP 上 的 密 码 是 一 样 的 , 尽 管 有 些 系 统 允 许 你 的 密 码 不 一 样 。 如 果 你 想 跳 过 这 个 提 醒 输 入 密 码 的 提 示 , 你 可 以 在 执 行 popclient 时 , 在 命 令 行 中 包 含 -P 选 项 以 及 密 码 :

popclient -3 – u username – p password pop-server

使 用 popclient 联 接 到 你 的 ISP 上 , 然 后 在 命 令 行 上 输 入 带 有 选 项 和 pop 服务 器 名 的 popclient 命 令 。 你 将 会 看 到 有 消 息 告 诉 你 是 否 有 邮 件 , 如 果 有 的 话 , 则 显 示 有 多 少 消 息 将 会 被 下 载 。 你 能 够 用 mail, elm 或 者 其 他 任 何 一 种 邮 件 程序 来 读 这 些 消 息 。

#popclient -3 – u mylogin – p mypass popd.ix.netcom.com

netcom ( version: 1.6 Re l( SB ) ) at ix10 starting:built n Jun 25 1997

16:07:34.

2 messages in folder reading message 1. Reading message 2.

[ root @ turtle/too t] #mail

Mail version 5.5 -kw 5/30/95. Type ?for help. "/var/spool/mail/root":2 messages 2 new

>N 1 root @ turtle.trek.com fri Aug 29 00:05 15/555 "birthday" N 2 root@turtle.trek.com Fri Aug 29 00:05 15/552 "party"

&q

Held 2 messages in /var/spool/mail/root

下 载 下 来 的 邮 件 会 放 在 用 户 执 行 popclient 命 令 的 信 箱 中 。 如 果 你 以 Chris 登 录 到 到 你 的 Linux 系 统 上 , 那 么 这 些 邮 件 就 会 放 在 Chris 的 mailbox 中 。 如果 你 是 以 Larisa 来 登 录 , 那 么 邮 件 就 会 放 到 Larisa 的 mailbox 中 。 你 能 够 使 用

-o 选 项 来 指 定 一 个 特 别 的 mailbox , 把 邮 件 加 到 mailbox 这 个 文 件 中 , 而 不 是靠 系 统 来 维 护 。

把 popclient 程 序 和 mail 程 序 命 令 结 合 起 来 使 用 是 很 方 便 的 。 这 样 的 话 , 你就 只 需 要 执 行 一 道 命 令 让 popclient 来 下 载 邮 件 , 并 启 动 一 个 邮 件 程 序 就 可 以 读取 它 们 。 Popclient 有 返 回 值 可 供 你 用 来 检 查 那 儿 是 否 还 有 邮 件 ( popclient 的 邮件 页 面 上 ) 。 如 果 那 儿 有 邮 件 的 话 , 那 么 popclient 将 返 回 0 , 如 果 没 有 邮 件 , popclient 则 会 返 回 1 , 如 果 是 发 生 了 一 个 错 误 , 则 返 回 其 他 值 。 下 面 这 个 叫 做popelm 的 程 序 用 popclient 来 检 查 是 否 有 邮 件 并 下 载 它 们 。 如 果 有 邮 件 , 那 么elm 程 序 就 会 被 自 动 调 用 来 显 示 它 们 。 如 果 没 有 邮 件 , 那 么 消 息 “ No Mail ” 就

会 显 示 出 来 ( 记 得 要 用 chmod 755 script-name 来 使 这 个 程 序 可 执 行 。 )

Popelm #!/usr/bin/bash

if popclent -3 – u mylogin – p mypass my-ISP-POP-server then

elm else

echo "No mail" fi

邮 件 实 用 工 具

使 用 这 些 邮 件 实 用 工 具 , 你 能 够 很 容 易 向 其 他 用 户 发 送 和 接 收 消 息 。 发 送消 息 就 只 是 简 单 地 敲 入 一 个 注 册 名 , 以 及 跟 着 敲 入 消 息 正 文 。 接 收 消 息 则 仅 仅是 从 一 个 接 收 邮 件 列 表 上 选 择 一 条 消 息 而 已 。 当 你 用 Mail 发 送 消 息 时 , 有 命 令可 以 修 改 消 息 的 正 文 以 及 消 息 头 。 接 收 到 邮 件 后 , 你 可 以 回 复 它 们 , 把 它 们 保存 到 文 件 中 , 或 者 仅 仅 是 简 单 地 删 除 它 们 。 .mailrc 这 个 专 门 的 初 始 化 文 件 能 够给 你 的 Mail 工 具 添 加 上 如 别 名 等 特 征 。

现 在 为 大 家 所 知 的 Mail 工 具 最 初 是 为 BSD Unix 系 统 创 建 的 , 就 简 单 地 命

名 为 mail. 后 来 的 Unix 系 统 V 也 采 纳 了 BSD 的 mail 工 具 ,并 重 新 命 名 为 mailx. 大 多 数 的 unix 系 统 ,包 括 Redhat Linux ,都 使 用 这 个 mailx 工 具 ,且 直 接 用 Mail 来 表 示 它 。

发 送 邮 件

你 利 用 Ma il 来 发 送 的 邮 件 可 以 是 从 键 盘 上 敲 入 的 东 西 , 也 可 以 是 某 个 文 件的 内 容 。 当 你 从 键 盘 上 输 入 一 条 消 息 时 , 你 可 以 用 专 门 的 符 号 命 令 来 编 辑 它 。这 些 符 号 命 令 可 以 让 你 保 存 消 息 , 重 新 显 示 你 所 写 的 内 容 , 或 是 启 动 一 个 编 辑器 来 编 辑 它 。

为 了 发 送 邮 件 , 可 以 敲 入 一 个 单 独 的 mail 命 令 , 并 在 后 面 加 上 你 所 要 发 给消 息 的 人 的 邮 件 地 址 。 按 ENTER 键 后 , 那 么 会 出 现 提 示 要 你 输 入 一 个 信 件 的主 题 。 输 入 该 邮 件 的 主 题 , 然 后 再 一 次 按 下 ENTER 键 。 这 时 候 , 你 已 经 处 于输 入 模 式 , 任 何 东 西 输 入 都 被 做 为 信 件 的 内 容 。 按 ENTER 键 将 在 信 件 正 文 加入 新 的 一 行 。 当 你 完 成 所 有 的 输 入 时 , 在 新 的 一 行 行 首 敲 入 C trl+d 来 结 束 这 条消 息 , 并 把 它 发 送 出 去 。 当 你 敲 了 Ctrl+d 后 , 你 会 看 到 屏 幕 上 显 示 EOT ( end- of-transmission) 的 字 样 。

在 下 面 的 例 子 中 , 用 户 把 邮 件 发 送 给 一 个 地 址 为 robert 的 用 户 , 邮 件 的 主题 是 “ Birthday". 在 输 完 消 息 正 文 之 后 , 他 按 了 C trl+d.

$ mail robert Subject:Birthday

Your present is in the mail Really.

^D EOT

$

标 准 输 入 与 重 定 向

Mail 工 具 能 够 从 标 准 输 入 中 接 收 输 入 。 在 缺 省 情 况 下 , 标 准 输 入 就 是 用 户在 键 盘 上 的 输 入 内 容 。 然 而 利 用 重 定 向 , 标 准 输 入 则 可 以 从 一 个 文 件 中 读 取 输入 。 因 此 , 通 过 重 定 向 , 你 就 可 以 在 Mail 程 序 中 使 用 文 件 的 内 容 来 作 为 要 发 送的 邮 件 。 你 可 以 用 vi 编 辑 器 来 创 建 并 编 辑 一 个 文 本 文 件 , 然 后 把 这 个 文 件 作 为Mail 程 序 的 重 定 向 输 入 。 在 下 面 的 这 个 例 子 中 , 文 件 mydata 被 重 定 向 为 M ial 程 序 的 输 入 , 并 发 送 给 用 户 robert.

$ mail robert<mydata

注 意 到 当 你 利 用 重 定 向 来 发 送 一 个 文 件 时 , 你 并 没 有 机 会 来 给 这 封 邮 件 输入 一 个 题 目 。 然 而 , ma il 命 令 的 -s 选 项 允 许 你 在 命 令 行 中 给 邮 件 指 定 一 个 主 题 。这 个 主 题 将 被 显 示 在 该 文 件 接 收 者 的 邮 件 开 始 部 分 。 表 8-2 列 举 了 Mail 程 序的 其 他 几 个 选 项 , 我 们 将 在 本 章 的 后 面 部 分 对 这 些 选 项 做 进 一 步 的 阐 释 。 下 面的 这 个 例 子 中 ,Robert 将 文 件 mydata 发 送 出 去 ,并 指 定 邮 件 的 主 题 为“ party ”。

$ mail – s party chris<mydata

向 多 个 用 户 发 送 邮 件

你 可 以 同 时 将 一 条 消 息 发 送 给 多 个 用 户 , 只 要 在 mail 命 令 后 的 命 令 行 参 数上 列 出 那 些 用 户 的 地 址 。 在 下 面 的 例 子 中 , 该 用 户 将 一 封 邮 件 同 时 发 送 给 chris 和 aleina.

$ mail chris aleina Subject : Birthday

Your present is in the mail Really.

^D

EOT

$

你 也 可 以 利 用 重 定 向 把 某 个 文 件 的 内 容 同 时 发 送 给 几 个 用 户 。 下 面 的 例 子中 , 文 件 mydata 的 内 容 就 同 时 被 送 给 了 robert 和 aleina.

$mail robert aleina <mydata

将 邮 件 拷 贝 到 文 件 中

你 可 能 还 想 为 自 己 保 存 一 份 所 发 送 消 息 的 拷 贝 。 在 命 令 行 上 的 地 址 后 指 定一 个 文 件 名 , 就 可 以 将 消 息 备 份 到 你 帐 号 下 的 文 件 中 。 这 个 文 件 名 必 须 是 一 个包 含 有 斜 杠 的 相 对 或 绝 对 路 径 名 。 路 径 名 确 定 了 一 个 文 件 名 参 数 , 作 为 正 在 发送 的 邮 件 要 保 存 到 的 文 件 名 。 在 下 面 的 例 子 中 , 该 用 户 将 邮 件 的 一 个 拷 贝 备 份到 名 为 birthnote 的 文 件 中 , 它 采 用 的 是 一 个 相 对 路 径 名 , 以 及 用 来 表 示 当 前 工作 目 录 的 句 号 : ./birthnote

$ mail robert ./birthnote Subject: Birthday

Your present is in the mail Really.

^D EOT

$ cat birthnote Subject: Birthday

Your present is in the mail Really.

$

当 使 用 重 定 向 或 是 同 时 给 多 个 用 户 发 信 时 , 技 巧 也 是 一 样 的

$ mail robert aleina < mydata ./birthnote

编 辑 Ma il 邮 件 : 转 义 命 令

  • 封 邮 件 由 两 部 分 组 成 : 消 息 头 和 消 息 正 文 。 消 息 头 中 包 含 了 该 邮 件 的 信息 , 比 如 邮 件 要 发 送 到 的 地 址 以 及 邮 件 的 主 题 等 内 容 。 地 址 是 作 为 mail 命 令 的参 数 指 定 的 。 然 后 Ma il 工 具 会 提 示 用 户 输 入 该 邮 件 的 主 题 。 输 完 主 题 之 后 , 用户 就 开 始 输 入 邮 件 的 正 文 。

那 一 系 列 消 息 处 理 指 令 , 即 人 们 所 知 的 转 义 命 令 , 允 许 你 在 消 息 头 或 是 正文 中 进 行 编 辑 操 作 。 一 个 转 义 命 令 由 波 浪 号 ~ 后 加 一 个 单 独 的 字 母 组 成 , 波 浪 号要 放 在 一 行 的 行 首 。 波 浪 号 ( 充 当 一 种 特 殊 字 符 的 角 色 ) 及 其 后 的 命 令 并 不 做为 消 息 的 一 部 分 。 如 果 你 需 要 在 消 息 中 输 入 波 浪 号 的 字 符 , 那 么 你 可 以 连 续 地输 入 两 个 波 浪 号 ( ~~ ) 来 获 得 这 种 效 果 。 这 些 使 用 波 浪 号 的 转 义 命 令 在 表 8-2 中 列 了 出 来 。 你 还 可 以 通 过 ~ ? 命 令 来 获 得 这 写 命 令 的 列 表 。

当 你 发 送 邮 件 时 , 有 三 种 基 本 的 操 作 : 输 入 消 息 头 的 信 息 , 输 入 邮 件 的 正

文 , 以 及 输 入 转 义 命 令 来 对 消 息 头 或 正 文 进 行 操 作 。 对 消 息 头 操 作 的 转 义 命 令允 许 你 修 改 地 址 以 及 主 题 等 信 息 , 而 对 正 文 进 行 操 作 的 转 义 命 令 则 允 许 你 重 新显 示 、 保 存 或 是 用 编 辑 器 来 修 改 正 文 。

编 辑 正 文 的 转 义 命 令

在 输 入 一 封 邮 件 的 正 文 时 , 并 不 像 一 个 编 辑 器 那 样 有 命 令 模 式 。 一 旦 你 输入 了 主 题 并 按 回 车 , 你 就 进 入 了 该 邮 件 的 正 文 输 入 模 式 。 Mail 工 具 的 输 入 模 式受 到 所 有 在 vi 编 辑 器 的 输 入 模 式 下 的 各 种 限 制 。 你 只 是 在 输 入 一 串 字 符 流 , 唯一 能 够 做 的 改 正 工 作 就 是 使 用 BACKSPACE 键 , 来 抹 去 该 行 上 光 标 左 边 的 字符 。 你 不 能 够 移 动 光 标 去 执 行 其 他 任 何 的 编 辑 操 作 。

通 过 ~v 命 令 来 启 动 vi 编 辑 器 , 你 能 够 不 受 所 有 Mail 输 入 模 式 下 的 限 制 。你 可 以 在 一 行 中 单 独 敲 入 ~v 命 令 , 然 后 回 车 。 一 旦 你 进 入 了 vi 编 辑 器 , 你 的 邮件 就 能 够 象 其 他 任 何 的 文 本 一 样 编 辑 了 。 实 际 上 , 你 是 在 用 vi 编 辑 器 来 编 写 你的 邮 件 , 而 不 是 依 靠 Mail 的 输 入 模 式 了 。 在 vi 编 辑 器 中 , 你 所 输 入 的 的 消 息 会被 显 示 成 为 一 个 可 编 辑 的 文 本 。

Vi 编 辑 器 的 保 存 命 令 将 编 辑 好 的 正 文 保 存 到 邮 件 中 , 而 不 是 保 存 到 一 个 文件 中 。 当 你 使 用 命 令 ZZ 来 退 出 vi 编 辑 器 时 , 你 将 文 本 保 存 为 Ma il 的 消 息 正 文 , 并 返 回 Mail 工 具 的 输 入 模 式 。 无 论 如 何 , 该 消 息 的 正 文 都 不 会 被 重 新 显 示 一 遍 , 而 是 在 屏 幕 上 出 现 一 个 用 括 弧 括 起 来 的 单 词 “ continue" 。 你 可 以 接 着 输 入 更 多的 内 容 , 执 行 其 他 的 转 义 命 令 , 或 是 用 ctrl+d 来 结 束 编 辑 并 发 送 邮 件 。

虽 然 启 用 vi 编 辑 器 是 最 有 用 的 转 义 命 令 之 一 , 你 却 可 以 对 正 文 做 一 些 基 本的 操 作 , 比 如 重 新 显 示 正 文 , 将 正 文 内 容 保 存 到 文 件 中 , 或 是 从 另 一 个 文 件 中读 入 信 件 正 文 。 在 任 何 时 候 , 你 都 可 以 敲 入 ~p 转 义 命 令 来 重 新 显 示 你 的 邮 件 内容 , 它 将 会 将 在 此 之 前 所 输 入 消 息 都 打 印 出 来 。 当 你 在 一 行 中 单 独 敲 入 ctrl+d 并 回 车 , 你 所 输 入 的 一 切 都 会 被 显 示 出 来 。 通 常 都 会 在 结 束 调 用 vi 编 辑 后 , 敲入 ~p 命 令 来 确 认 一 下 编 辑 的 结 果 。 如 果 你 这 样 做 了 , 你 将 会 发 现 在 vi 编 辑 器 中

编 辑 及 输 入 的 内 容 都 被 显 示 成 消 息 的 正 文 。

$ mail aleina Subject: Files

This is a list of all the Students in my class.

~p

Message contains:

To: aleina Subject: Files

This is a list of all the Students in my class.

( continue )

^D EOT

$

还 有 其 他 一 些 转 义 命 令 允 许 你 将 你 的 邮 件 保 存 到 文 件 中 , 或 是 将 某 个 文 件的 内 容 读 到 你 的 邮 件 中 。 转 义 命 令 ~w 保 存 你 的 邮 件 , 而 命 令 ~r 则 从 另 一 个 文件 读 入 文 本 , 成 为 邮 件 的 一 部 分 。 敲 入 命 令 ~w 和 要 把 邮 件 写 入 的 文 件 名 。 命 令

~r 则 多 与 要 读 的 文 件 一 同 敲 入 。 在 下 面 的 这 个 例 子 中 , 指 令 ~w mydata 把 输 入的 消 息 保 存 到 文 件 mydata 中 。 然 后 用 ~r 命 令 来 读 取 文 件 mynames 的 内 容 , 并 把 它 添 加 到 Ma il 的 消 息 正 文 内 。

$mail aleina Subject: Files

This is a list of all the

students in my class.

~w mydata "mydata" 2/48

~r mynames "mynames" 3/15

~p

Message contains:

To: aleina Subject: Files

This is a list f all the students in my class. Mary

Joe Harold

( continue )

^D EOT

$

如 果 你 突 然 改 变 了 主 意 , 不 想 再 把 这 封 信 息 发 送 出 去 , 你 可 以 用 ~x 或 是 ~q 转 义 命 令 来 退 出 Mail 程 序 。 这 时 刚 才 所 写 的 文 件 就 会 丢 失 , 回 到 外 壳 程 序 shell 中 。 如 果 你 使 用 的 是 ~q 命 令 , 那 么 刚 才 所 编 辑 的 消 息 文 本 就 会 保 存 到 一 个 名 为dead.letter 的 文 件 中 。

$ mail aleina Subject: Files

This is a list of all the students in my class.

~x

$

你 还 可 以 通 过 过 滤 器 来 对 消 息 的 正 文 进 行 加 工 。 把 当 前 的 消 息 正 文 当 做 过滤 器 的 输 入 , 就 可 以 得 到 一 个 可 以 取 代 原 来 消 息 正 文 的 文 本 。 比 如 说 , 如 果 你的 消 息 包 含 一 个 列 表 , 你 可 以 将 这 个 列 表 通 过 管 道 送 到 sort 过 滤 程 序 中 , 然 后得 到 被 排 序 后 输 出 代 替 的 消 息 内 容 。 转 义 命 令 ~| 允 许 你 将 你 的 文 本 用 管 道 输 送给 一 个 过 滤 程 序 。 ~| 把 该 过 滤 程 序 当 作 它 的 命 令 参 数 。 编 辑 的 消 息 文 本 被 当 作标 准 输 出 送 到 管 道 , 再 输 送 到 过 滤 器 中 。 从 过 滤 器 得 到 的 输 出 会 取 代 原 来 的 消息 内 容 。 在 下 面 的 例 子 中 , 用 户 利 用 ~| sort 命 令 来 对 消 息 中 的 列 表 排 序 。

$ mail george Subject: Names Mary

Joe Harold

~| sort

~p

Message contains: To:george Subject: Names Harold

Joe

Mary

( continue )

^D EOT

$

一 个 非 常 有 用 的 过 滤 程 序 是 fm t, 它 是 为 格 式 化 Mail 消 息 而 设 计 的 。 通 常当 你 输 入 一 条 消 息 的 时 候 , 文 本 的 每 一 行 并 不 具 有 相 同 的 长 度 , 这 是 因 为 他 们是 在 一 个 词 处 理 程 序 中 。 而 过 滤 程 序 fm t 则 可 以 格 式 化 你 的 文 本 , 使 每 一 行 都有 大 约 72 个 字 符 的 标 准 长 度 。 以 空 格 或 是 制 表 符 开 头 的 行 会 被 当 作 一 段 的 开头 。 下 面 的 例 子 中 , 该 用 户 利 用 fm t 来 格 式 化 消 息 文 本 。

$ mail george Subject: Title George ,

Have you thought of a new Title for the

Project we were discussing Last month?

It should have a new theme based on The realistic expectations of

our target audience.

~| fmt

( continue )

~p

Message contains:

To: george Subject: Title George ,

Have you thought of a new title for the project we were discussing last month? It should have a new theme based on the realistic expectations of our target audience.

( continue )

^D EOT

$

编 辑 消 息 头 的 转 义 命 令

其 他 的 一 些 转 义 命 令 允 许 你 改 变 消 息 头 的 各 个 部 分 。 在 一 个 消 息 头 中 , 可能 有 以 下 四 个 部 分 组 成 : 接 受 者 的 地 址 列 表 , 主 题 , 拷 贝 清 单 以 及 隐 蔽 的 拷 贝清 单 . 这 两 个 拷 贝 清 单 是 可 要 可 不 要 的 。 但 你 的 消 息 头 里 却 一 定 要 有 地 址 列 表 , 而 且 虽 然 你 可 以 跳 过 主 题 这 一 栏 , 但 通 常 情 况 下 , 系 统 会 提 示 你 在 主 题 栏 里 输入 些 东 西 。

通 常 启 动 Mail 的 时 候 , 你 最 初 在 命 令 行 上 输 入 的 是 那 些 信 件 要 发 送 到 的 地址 列 表 。 但 假 如 你 是 在 编 辑 你 的 信 件 正 文 时 临 时 想 添 加 其 他 地 址 , 那 么 你 只 要通 过 使 用 转 义 命 令 ~ t, 就 完 全 可 以 做 到 这 一 点 。

而 ~s 命 令 则 允 许 你 为 你 的 信 件 输 入 一 个 新 的 主 题 。 为 了 更 改 主 题 这 一 项 内

容 , 你 可 以 在 ~s 命 令 后 跟 上 新 的 主 题 。 下 面 的 例 子 对 主 题 和 地 址 列 表 都 做 了 更改 。 Larisa 这 个 地 址 被 加 到 地 址 列 表 中 , 现 在 , 邮 件 不 但 会 象 原 来 那 样 发 送 给aleina 而 且 还 会 发 送 一 份 给 Larisa 。然 后 又 把 主 题“ Files ”改 成“ Class Roster ”。

$ mail aleina Subject: Files

This is a list of all the students in my class.

~t larisa

~s Class Roster Message contains:

To: aleina larisa Subject: Class Roster This is a list of all the students in my class.

( continue )

^D EOT

$

也 许 你 还 想 把 这 个 消 息 的 副 本 抄 送 给 其 他 人 。 那 么 这 个 副 本 中 将 会 包 含 有它 被 抄 送 的 地 址 。 实 际 上 , 你 正 在 给 某 个 人 发 送 的 此 邮 件 副 本 并 非 只 是 邮 件 的内 容 , 而 包 括 了 邮 件 的 消 息 头 部 分 。 为 了 发 送 邮 件 的 副 本 , 你 可 以 通 过 ~c 命 令来 建 立 一 个 拷 贝 发 送 的 清 单 。 输 入 ~c 并 在 后 面 加 上 接 收 这 些 消 息 拷 贝 的 地 址 列表 就 可 以 了 。

每 一 个 收 到 消 息 副 本 或 是 那 些 收 到 消 息 原 件 的 人 都 会 在 邮 件 的 尾 部 看 到 一

个 拷 贝 发 送 清 单 。 如 果 你 不 希 望 某 个 人 的 地 址 被 显 示 出 来 , 但 又 希 望 他 能 够 收到 这 个 消 息 的 一 个 副 本 。那 么 你 可 以 用 隐 蔽 的 拷 贝 清 单 来 达 到 这 一 目 的 。输 入 ~b 命 令 , 并 在 其 后 写 入 那 些 你 不 希 望 在 其 他 接 受 者 的 拷 贝 清 单 中 显 示 的 地 址 。 只有 那 些 在 普 通 拷 贝 发 送 清 单 中 的 地 址 才 会 出 现 在 邮 件 中 。 在 下 面 的 这 个 例 子 中 , larisa 和 marylou 会 收 到 该 消 息 的 拷 贝 , 并 且 在 每 一 份 发 送 的 邮 件 拷 贝 上 都 能看 到 他 们 的 地 址 被 打 印 在 拷 贝 清 单 中 。 另 一 方 面 , 象 valerie 那 样 则 也 会 收 到 一份 该 消 息 的 拷 贝 , 但 在 任 何 一 份 拷 贝 中 都 不 会 看 到 她 的 地 址 被 列 出 来 。

$ mail aleina Subject: Files

This is a list of all the students in my class.

~c larisa marylou

~b valerie

~p

Message contains: To: aleina

Subject: Files

Cc: larisa marylou Bcc: valerie

This is a list of all the

students in my class.

( continue )

^D EOT

$

如 果 你 想 更 改 消 息 头 中 的 全 部 内 容 , 使 用 转 义 命 令 ~h 就 可 以 一 下 子 对 它 们全 部 进 行 修 改 。 系 统 首 先 会 提 示 输 入 一 个 新 的 地 址 列 表 , 然 后 是 主 题 , 最 后 是一 个 新 的 拷 贝 发 送 清 单 。

接 收 邮 件 : Mail 外 壳 程 序

当 你 有 新 信 件 到 达 时 , 它 们 会 被 放 在 你 的 邮 箱 中 。 所 谓 的 邮 箱 其 实 也 就 是一 个 文 件 , 里 面 装 着 最 近 收 到 的 所 有 信 件 , 并 且 会 一 直 保 存 这 些 信 件 直 到 你 重新 取 出 它 们 。 只 要 在 命 令 行 上 敲 入 一 个 单 独 的 mail 命 令 , 就 可 以 启 动 Mail 工具 来 取 出 这 些 保 存 着 的 信 件 。 Mail 工 具 是 一 个 很 复 杂 的 程 序 , 可 以 用 来 管 理 收到 的 邮 件 , 它 有 着 自 己 的 外 壳 程 序 以 及 一 套 专 有 的 命 令 和 提 示 。 一 旦 你 启 动 了Mail 工 具 , 你 就 进 入 了 Mail 的 外 壳 程 序 , 在 那 里 你 可 以 接 收 邮 件 , 回 复 邮 件 , 甚 至 是 发 送 一 封 新 的 邮 件 。 在 表 8-3 中 列 出 了 最 常 用 的 几 种 Ma il 命 令 。

如 果 你 的 邮 箱 中 并 没 有 信 件 , 屏 幕 上 就 会 出 现 一 个 提 示 告 诉 你 没 有 邮 件 。

只 有 当 邮 箱 中 有 信 件 存 在 时 , 你 才 能 够 进 入 Mail 的 外 壳 程 序 。 在 下 面 的 这 个 例子 中 , 该 用 户 试 图 进 入 Mail 的 外 壳 程 序 , 但 是 因 为 邮 箱 里 并 没 有 邮 件 , 所 以 屏幕 上 只 是 出 现 了 一 个 简 短 的 提 示 , 用 户 依 然 留 在 他 登 陆 的 shell 中 。

$ mail

Sorry, no mail

$

当 你 刚 进 入 Mail 的 外 壳 程 序 时 , 一 个 包 含 有 关 于 每 条 消 息 的 扼 要 信 息 的 列表 会 打 印 在 屏 幕 上 。 这 些 扼 要 信 息 前 面 还 有 用 来 表 示 该 消 息 状 态 的 状 态 指 示 符以 及 消 息 序 号 。 状 态 指 示 符 是 用 一 个 单 独 的 大 写 字 母 来 表 示 的 , 通 常 都 会 用 一个 N 来 表 示 “ 新 邮 件 ” , 用 U 来 表 示 “ 未 读 过 的 邮 件 ” 。 接 着 状 态 指 示 符 一 栏的 是 消 息 的 数 目 , 用 来 方 便 用 户 指 明 是 哪 一 条 消 息 。 接 下 来 的 几 栏 则 是 发 信 者的 地 址 , 收 到 信 件 的 日 期 、 时 间 , 然 后 是 该 消 息 的 行 数 和 字 数 , 最 后 一 栏 则 是发 信 者 为 这 封 信 起 的 主 题 。 在 显 示 完 这 些 扼 要 信 息 之 后 , Mail 的 外 壳 程 序 就 会显 示 它 的 提 示 符 — — 一 个 问 号 “ ? ” 。 在 这 个 提 示 的 后 面 , 输 入 命 令 就 可 以 对 消息 进 行 操 作 。 这 里 是 一 个 Ma il 的 消 息 头 信 息 显 示 出 来 的 例 子 。

$mail

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTue Feb 1110:14:325/44 "Budget" N 2 aleinaWed Feb 1212:30:1728/537 "Birthday"

N 3 robertFri Feb 14 8:15:2416/293 "Homework"

消 息 列 表 和 当 前 消 息 指 示 符

Mail 可 以 通 过 消 息 列 表 或 是 一 个 当 前 消 息 指 示 符 ( > ) 来 指 定 某 一 条 消 息 。大 于 号 被 放 在 某 条 消 息 的 前 面 , 表 示 这 是 当 前 的 消 息 。 当 Mail 命 令 中 不 指 定 消息 的 数 目 时 , 命 令 就 会 缺 省 地 对 当 前 消 息 做 操 作 。 比 如 说 , 在 显 示 消 息 头 信 息时 , 如 果 命 令 中 并 没 有 给 出 信 件 的 顺 序 号 , 那 么 消 息 一 就 会 首 先 显 示 出 来 , 因为 它 就 是 当 前 所 指 向 的 消 息 。 如 果 在 命 令 中 给 出 了 消 息 序 号 , 那 么 这 条 消 息 就

自 动 成 为 当 前 消 息 , 而 当 前 消 息 指 示 符 也 会 自 动 移 到 它 的 前 面 。 如 果 你 想 要 显示 消 息 二 , 那 么 消 息 二 也 就 成 了 当 前 的 消 息 。

你 还 可 以 用 消 息 列 表 来 指 定 某 条 消 息 。 许 多 Mail 命 令 都 能 够 同 时 对 若 干 条消 息 进 行 操 作 。 在 一 个 Mail 命 令 中 , 通 过 一 个 包 含 有 若 干 个 消 息 序 号 的 消 息 列表 , 就 可 以 指 定 若 干 条 消 息 。 你 还 可 以 输 入 首 末 两 篇 消 息 的 序 号 来 确 定 一 个 范围 , 两 个 序 号 之 间 用 破 折 号 隔 开 。 在 前 面 给 出 消 息 头 信 息 的 例 子 中 , 你 可 以 用1-3 来 指 定 这 三 篇 消 息 。

你 还 可 以 用 专 门 的 字 符 来 指 定 当 前 的 消 息 。 ^ 符 号 表 示 的 是 第 一 条 消 息 , 比如 说 , ^-3 就 表 示 从 第 一 篇 到 第 三 篇 的 这 么 一 个 范 围 。 而 符 号 $ 则 表 示 最 后 一 条消 息 , 所 以 4-$ 就 表 示 了 从 第 四 条 消 息 到 最 后 一 条 消 息 。 单 独 的 一 个 $ 就 表 示 是最 后 一 条 消 息 , 而 单 独 的 一 个 句 号 .则 表 示 当 前 的 消 息 。 星 号 * 则 表 示 邮 箱 中 的全 部 邮 件 。 比 如 说 , 如 果 你 想 要 显 示 所 有 消 息 , 只 要 输 入 命 令 p * 就 可 以 了 。

你 还 可 以 根 据 发 信 者 的 地 址 或 是 信 件 的 主 题 来 选 择 一 组 信 件 。 一 个 单 独 的地 址 就 包 含 了 一 个 消 息 列 表 , 指 向 来 自 这 个 地 址 的 所 有 信 件 。 robert 就 是 一 个指 向 所 有 来 自 Robert 消 息 的 列 表 。 在 一 个 斜 杠 后 加 上 一 个 模 式 名 , 则 指 代 所 有主 题 中 包 含 有 此 模 式 的 消 息 。 比 如 说 , /birthday 就 是 一 个 指 代 所 有 主 题 为birthday 的 消 息 的 列 表 。

你 还 可 以 输 入 一 个 冒 号 , 并 在 后 面 跟 上 一 个 字 符 来 代 表 你 所 想 要 看 的 消 息的 状 态 , 这 样 子 也 能 够 指 定 一 条 消 息 。 这 些 指 示 符 是 消 息 头 中 状 态 指 示 符 的 小写 形 式 , 比 如 说 n 表 示 那 些 在 消 息 头 中 用 N 来 表 示 的 新 邮 件 。 :n 是 一 个 包 括 所有 新 邮 件 的 邮 件 列 表 。 命 令 p:n 将 会 显 示 所 有 的 新 邮 件 ; :u 则 指 代 所 有 未 读 的消 息 , 同 样 这 些 消 息 的 状 态 指 示 符 为 U.

显 示 邮 件

另 外 一 套 命 令 则 是 用 来 显 示 邮 件 的 。 单 独 地 输 入 一 个 消 息 的 序 号 , 就 可 以显 示 该 消 息 。 那 么 消 息 就 会 一 屏 一 屏 地 在 屏 幕 上 打 印 出 来 。 按 空 格 键 或 是 回 车则 可 以 继 续 显 示 下 一 屏 。 假 如 你 在 Mail 的 提 示 符 后 输 入 数 字 1 , 那 么 第 一 封 信件 就 会 被 显 示 在 屏 幕 上 。

如 果 你 想 要 连 续 地 看 若 干 条 消 息 , 你 必 须 在 Mail 的 提 示 符 后 输 入 它 们 的 序号 。 其 他 的 命 令 则 允 许 你 根 据 消 息 相 对 于 当 前 消 息 的 位 置 , 来 指 定 和 显 示 消 息 。利 用 命 令 - 就 可 以 打 印 在 当 前 消 息 之 前 的 消 息 。 如 果 你 用 - 命 令 加 一 个 数 字 , 就可 以 指 定 一 条 在 当 前 消 息 前 若 干 条 处 的 消 息 。 假 设 当 前 消 息 的 序 号 为 6 , 那 么 -

4 就 可 以 指 定 第 二 条 消 息 。 你 还 可 以 指 定 在 当 前 消 息 之 后 的 那 些 消 息 。 用 命 令 +

加 上 一 个 数 字 , 然 后 回 车 , 就 可 以 将 当 前 消 息 之 后 的 消 息 显 示 出 来 。

如 果 你 想 要 显 示 一 个 范 围 内 的 消 息 , 你 必 须 使 用 命 令 p 和 t。 就 像 Ma il 中大 多 数 其 他 命 令 一 样 , 这 些 命 令 以 一 个 消 息 的 列 表 作 为 它 们 的 参 数 。 就 像 指 定一 条 单 独 的 消 息 一 样 , 在 消 息 列 表 中 你 可 以 指 定 一 组 消 息 或 是 某 个 范 围 内 的 消息 。 你 可 以 通 过 一 个 接 一 个 地 列 出 消 息 的 序 号 来 指 定 一 组 消 息 , 消 息 序 号 之 间以 空 格 分 开 , 比 如 说 1 3 指 的 就 是 第 一 和 第 三 封 邮 件 , p 1 3 则 会 将 第 一 和 第 三封 邮 件 显 示 出 来 。 你 还 可 以 用 一 个 破 折 号 来 指 定 一 个 范 围 , 比 如 说 1-3 , 指 定了 一 、 二 、 三 这 三 封 消 息 , 同 样 地 , p 1-3 则 会 将 这 三 封 邮 件 都 显 示 出 来 。

如 果 命 令 p 或 t 不 带 一 个 消 息 列 表 的 参 数 时 , 系 统 则 会 显 示 当 前 的 消 息 。 你也 可 以 用 + 或 - 和 p , t 中 的 一 个 命 令 连 用 , 则 可 以 显 示 前 面 或 后 面 的 邮 件 。 在 下面 的 例 子 中 , 一 个 不 带 消 息 序 号 的 命 令 p , 将 当 前 消 息 — — 消 息 一 给 打 印 出 来 。然 后 用 命 令 p 加 上 一 个 消 息 序 号 来 显 示 消 息 二 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTue Feb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 1212:30:1728/537 "Birthday" N 3 robert Fri Feb 143:15:2416/293 "Homework"

& p

From valerie Wed Feb 11 10:14:17 PST 1996 To: chris

Subject:Budget Status: R

You are way under budget so far.

Congratulations Val

& p 2

From aleina W ed Feb 11 10:14:17 PST 1996 To: chris

Subject: Birthday

Status: R

Yes , I did remember your present A leina

&

下 面 的 这 个 表 列 举 了 若 干 个 例 子 , 是 命 令 p 加 上 各 种 不 同 组 成 的 消 息 列 表的 功 能 。 要 记 住 特 殊 字 符 的 功 能 , 比 如 说 ^ , $ 以 及 * 分 别 表 示 第 一 个 , 最 后 一 个和 全 部 消 息 , 还 有 用 来 指 定 某 种 类 型 邮 件 的 :。 你 也 可 以 用 地 址 或 主 题 来 指 定 消息 。

命 令 作用

p $ 显 示 最 后 一 条 消 息

p * 显 示 所 有 的 消 息

p ^-3 显 示 第 一 至 第 三 条 消 息

p .-3 显 示 从 当 前 消 息 到 第 三 条 消 息

p n 显 示 下 一 条 消 息 , 而 不 显 示 当 前 消 息

p +2 显 示 从 当 前 消 息 算 起 的 第 二 条 消 息

p /budget 显 示 所 有 主 题 一 栏 包 含 有 "budget" 的 消 息

p dylan 显 示 所 有 由 地 址 为 dylan 发 来 的 消 息

p :n 显 示 所 有 收 到 的 新 消 息

p :u 显 示 所 有 还 未 读 过 的 消 息

p :r 显 示 所 有 你 已 经 答 复 的 消 息

当 一 条 消 息 显 示 完 之 后 , 你 又 进 入 了 Mail 的 提 示 状 态 & 。 但 这 时 消 息 头 的信 息 并 不 会 自 动 地 又 为 你 重 新 显 示 一 遍 。 使 用 命 令 h , 你 就 能 够 在 任 何 时 候 重新 显 示 一 遍 消 息 头 。 在 下 面 的 这 个 例 子 中 , 用 户 输 入 命 令 h 来 重 新 显 示 消 息 头的 列 表 。

& h

>N 1 valerieTueFeb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 1212:30:1728/537 "Birthday" N 3 robert Fri Feb 143:15:2416/293 "Homework"

&

有 时 候 , 这 个 消 息 头 会 很 长 , 以 致 于 一 屏 并 不 能 显 示 完 。 在 这 种 情 况 下 , 命 令 h 就 只 显 示 消 息 头 的 第 一 屏 信 息 。 而 命 令 z+ 和 z- 就 能 够 向 前 或 向 后 翻 屏 。如 果 你 知 道 你 想 看 的 信 件 的 确 切 序 号 , 你 可 以 在 命 令 h 后 加 上 这 个 序 号 来 显 示消 息 头 。 比 如 说 , h12 就 会 显 示 第 十 二 条 消 息 的 消 息 头 , 当 然 也 包 括 在 它 前 后的 一 些 消 息 的 消 息 头 。

删 除 或 恢 复 消 息

除 非 你 输 入 命 令 让 Mail 程 序 删 去 一 条 消 息 , 否 则 当 你 离 开 Ma il 程 序 时 , 所有 已 经 读 过 的 消 息 都 会 自 动 保 存 起 来 。 你 可 以 用 删 除 命 令 d 来 删 去 一 条 消 息 。输 入 命 令 d 并 跟 上 某 条 消 息 的 序 号 , 就 可 以 删 去 这 条 消 息 。 命 令 d2 将 会 删 去第 二 条 消 息 。你 也 可 以 输 入 信 件 序 号 指 定 的 范 围 ,来 同 时 删 去 若 干 条 消 息 :d 2-4 将 删 去 消 息 二 、 三 和 四 。 如 果 你 输 入 一 个 不 带 任 何 消 息 序 号 的 命 令 d ,那么 Ma il 将 会 删 去 当 前 消 息 。 在 下 面 的 例 子 中 , 用 户 删 去 了 第 三 条 消 息 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 12 12:30:1728/537 "Birthday" N 3 robert Fri Feb 14 3:15:2416/293 "Homework"

& d 3

& h

>N 1 valerie Tue Feb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 1212:30:1728/537 "Birthday" &

在 离 开 Ma il 程 序 之 前 , 如 果 你 改 变 了 先 前 的 主 意 , 想 要 把 一 些 已 经 删 掉 的文 件 重 新 保 存 起 来 , 你 就 可 以 使 用 命 令 u 来 做 到 这 一 点 。 命 令 u 让 你 恢 复 一 个在 本 次 对 Ma il 操 作 中 删 除 的 消 息 。 删 除 命 令 其 实 并 不 是 马 上 就 把 消 息 给 删 去 , 所 有 的 消 息 都 一 直 保 存 着 , 直 到 你 退 出 Mail 程 序 。 同 样 的 , 你 也 可 以 指 定 若 干消 息 或 是 一 个 消 息 的 范 围 来 同 时 对 若 干 消 息 进 行 操 作 。 命 令 u 3 能 够 恢 复 消 息三 , 而 u 2-4 则 恢 复 消 息 二 、 三 和 四 。 比 如 说 :

& h

>N 1 valerieTueFeb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 1212:30:1728/537 "Birthday" & u 3

& h

>N 1 valerie Tue Feb 1110:14:325/44 "Budget"

N 2 aleina W ed Feb 1212:30:1728/537 "Birthday" N 3 robert Fri Feb 143:15:2416/293 "Homework"

&

答 复 和 发 送 邮 件 新 邮 件 : R , r , m 和 v

收 到 邮 件 的 时 候 , 你 还 可 以 发 送 你 自 己 的 邮 件 。 你 可 以 对 收 到 的 消 息 进 行答 复 , 或 者 就 只 是 象 你 使 用 mail 命 令 加 上 收 信 人 地 址 那 样 , 直 接 发 送 一 封 新 的

邮 件 。 在 答 复 邮 件 时 , Mail 允 许 你 自 动 地 使 用 接 收 到 邮 件 中 消 息 头 部 分 的 信 息 。你 只 要 指 定 你 想 要 答 复 的 邮 件 序 号 , 然 后 输 入 你 要 答 复 的 内 容 就 可 以 了 。

使 用 命 令 R 和 r, 可 以 来 答 复 收 到 的 邮 件 。 命 令 R 后 跟 着 一 个 消 息 序 号 , 会 自 动 产 生 一 个 发 送 邮 件 的 消 息 头 , 并 进 入 了 可 以 敲 如 入 邮 件 正 文 的 输 入 模 式 。这 个 消 息 头 中 会 包 含 有 发 信 者 的 地 址 以 及 发 信 者 指 定 的 主 题 。 但 这 个 主 题 会 加上 一 个 Re :, 来 表 示 这 是 一 封 回 复 某 条 消 息 的 邮 件 。 然 后 仅 仅 是 输 入 你 想 要 输入 的 内 容 , 并 在 一 行 开 头 单 独 输 入 一 个 CTRL-d 来 结 束 输 入 。 这 封 回 信 马 上 就被 送 给 原 信 件 的 发 信 者 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44 "Budget"

N 2 aleina W edFeb 1212:30:1728/537 "Birthday" N 3 robert FriFeb 143:15:2416/293 "Homework"

& R 2

To: aleina

Subject : RE: Birthday Is it a really big present?

^D EOT

&

假 设 把 发 信 给 你 的 人 , 还 把 这 封 信 发 给 了 其 他 几 个 用 户 。 使 用 命 令 r 就 可 以把 你 的 回 信 不 仅 仅 是 发 送 给 原 信 的 发 信 者 , 还 发 给 了 那 几 个 也 收 到 这 封 信 的 用户 。 要 特 别 注 意 命 令 r 的 使 用 。 你 也 许 并 不 想 让 你 的 回 信 发 送 给 收 到 原 信 的 所

有 人 。 如 果 你 只 想 把 你 的 答 复 发 送 给 发 信 者 一 个 人 , 你 就 需 要 使 用 命 令 R 。

通 过 使 用 命 令 m , 你 可 以 创 建 并 发 送 一 个 新 的 邮 件 。 邮 件 就 会 象 你 在 登 陆的 shell 中 那 样 被 发 送 出 去 。 除 非 命 令 m 用 来 取 代 了 mail 。 在 下 面 的 这 个 例 子中 , 用 户 发 送 一 封 新 邮 件 给 cecelia 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44 "Budget"

N 2 aleina W edFeb 1212:30:1728/537 "Birthday" N 3 robert FriFeb 143:15:2416/293 "Homework"

& m cecelia Subject: Birthday

D id you remember my present? oops

^D EOT

&

就 像 你 在 用 mail 命 令 发 送 信 件 时 做 的 一 样 , 在 Ma il 的 外 壳 程 序 下 发 送 一 封新 邮 件 或 者 是 直 接 答 复 某 封 邮 件 时 , 你 都 可 以 使 用 转 义 命 令 。 转 义 命 令 ~v 让 你能 够 在 vi 中 编 辑 你 的 回 信 , 然 后 再 回 到 答 复 信 件 的 输 入 模 式 。 一 旦 按 下 CTRL- d 将 信 件 发 送 出 去 , 你 又 回 到 了 Mail 的 提 示 符 下 。

假 设 在 发 送 邮 件 时 , 你 想 要 把 你 曾 经 收 到 的 某 封 邮 件 内 容 包 括 进 来 。 比 如说 当 你 给 某 个 人 写 回 信 时 , 你 也 许 想 把 他 给 你 的 信 件 内 容 也 加 进 来 。 或 者 也 许你 想 把 在 此 之 前 某 个 人 给 你 的 信 添 加 到 给 另 外 一 个 人 的 回 信 中 去 。 使 用 转 义 命

令 ~m 和 ~f 你 就 能 够 把 某 封 信 件 的 内 容 读 入 你 正 在 编 辑 的 信 件 中 。 ~m 和 ~f 转 义命 令 会 把 一 个 消 息 的 列 表 作 为 命 令 的 参 数 , 通 常 都 是 某 个 邮 件 序 号 。 就 好 像 命令 ~ m 2 会 把 第 二 封 邮 件 的 内 容 读 到 你 正 在 写 的 新 信 件 中 来 。 命 令 ~m 和 ~f 的 不同 之 处 在 于 , ~m 命 令 会 对 读 进 来 的 每 一 行 信 件 内 容 进 行 缩 排 , 以 区 别 于 你 正在 编 辑 的 信 件 正 文 , 而 ~f 命 令 则 不 对 它 进 行 缩 排 , 仅 仅 是 将 这 些 内 容 象 消 息 的正 文 一 样 添 加 进 来 。

你 也 可 以 用 命 令 v 来 直 接 编 辑 某 条 你 收 到 的 信 件 。 比 如 说 , 也 许 在 保 存 某

封 信 件 之 前 , 你 想 要 在 里 面 加 上 注 解 来 说 明 你 的 看 法 评 论 。 或 者 你 想 把 这 些 评论 直 接 添 加 到 邮 件 上 , 然 后 使 用 命 令 ~m 来 把 它 添 加 到 你 给 其 他 人 的 回 信 中 去 。为 了 编 辑 某 条 指 定 的 消 息 , 你 只 要 在 命 令 v 后 加 上 该 消 息 的 序 号 就 可 以 了 : v 3 命 令 会 编 辑 第 三 条 消 息 。

退 出 Mail

输 入 命 令 q 便 可 以 退 出 Mail 工 具 , 然 后 返 回 你 所 登 陆 进 来 的 shell 命 令 行中 。 你 读 过 的 邮 件 被 放 在 你 的 主 目 录 下 , 一 个 名 为 mbox 的 文 件 中 。 Mail 程 序会 告 诉 你 在 你 的 mbox 文 件 中 保 存 着 多 少 封 邮 件 。 缺 省 情 况 下 , 这 些 信 件 会 自动 从 你 的 收 信 邮 箱 中 移 去 。 如 果 出 于 某 个 原 因 你 并 不 想 把 某 封 邮 件 从 邮 箱 中 移开 , 你 就 要 在 离 开 Ma il 之 前 , 输 入 一 个 pre 命 令 , 后 面 跟 上 你 不 想 移 开 的 信 件序 号 。 那 么 这 封 邮 件 就 会 被 保 存 在 你 的 mailbox 文 件 中 。

如 果 在 你 读 某 封 信 件 之 前 , 你 退 出 了 Mail 程 序 , 那 么 这 封 信 就 会 保 留 在 你

的 mailbox 文 件 中 , 等 待 你 下 次 在 启 动 Mail 程 序 时 来 阅 读 它 。 当 你 再 一 次 进 入

Mail 的 shell 时 , 这 些 上 次 没 有 看 的 信 件 也 会 在 消 息 头 里 显 示 出 来 , 并 且 它 们

前 面 的 状 态 指 示 符 为 U , 来 标 明 这 是 些 以 前 收 到 的 旧 信 但 并 未 阅 读 过 。Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44 "Budget" N 2 aleinaWedFeb 1212:30:1728/537 "Birthday"

&q

Save 1 message in mbox

$

你 还 可 以 用 命 令 x 来 退 出 Mail 。 命 令 x 就 好 比 是 一 个 笼 统 的 撤 消 操 作 的 命令 。 在 你 本 次 操 作 Mail 期 间 , 任 何 被 删 去 的 信 件 都 会 被 恢 复 过 来 。

保 存 和 获 得 在 Mailbox 中 的 邮 件 :s 和 S 如 果 并 不 想 把 邮 件 保 存 在 文 件 mbox 中 , 那 么 你 可 以 用 命 令 s 来 明 确 地 将 信 件 保 存 到 你 选 定 的 文 件 中 。 不 管 怎 样 , s 命 令 都 会 把 邮 件 连 同 它 的 消 息 头 部 分 一 同 存 如 文 件 中 , 实 际 上 , 也 就 是 重 新 创建 了 另 一 个 mailbox 文 件 。 然 后 就 好 像 是 在 用 mail 来 获 得 mailbox 中 的 邮 件 一样 , 你 可 以 使 用 Mail 工 具 来 获 得 这 个 新 的 mailbox 文 件 中 的 信 件 。

要 保 存 某 封 邮 件 , 你 就 要 在 命 令 s 后 输 入 这 封 邮 件 的 序 号 , 然 后 再 跟 上 你想 要 将 它 保 存 到 的 文 件 名 。 如 果 这 个 文 件 已 经 存 在 了 , 那 么 这 封 邮 件 就 会 被 自动 添 加 到 文 件 的 末 尾 。 在 下 面 的 例 子 中 , 命 令 s 2 family_msgs 将 第 二 封 邮 件保 存 到 文 件 family_msgs 中 。 通 过 指 定 一 组 消 息

序 号 或 是 指 定 一 个 序 号 范 围 , 就 能 够 同 时 将 若 干 邮 件 保 存 到 一 个 文 件 中 : s 1-3 family_msgs 将 信 件 一 、 二 、 三 都 保 存 到 文 件 family_msgs 中 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44"Budget"

N 2 aleina W edFeb 1212:30:1728/537"Birthday" N 3 robert FriFeb 143:15:2416/293"Homework"

& s 2 family_msgs

你 可 以 将 邮 件 保 存 到 任 何 你 指 定 的 文 件 中 。 在 把 某 个 发 信 人 发 来 的 信 件 组织 到 一 个 文 件 中 时 , 这 种 功 能 是 很 有 帮 助 的 , 通 常 会 以 这 个 发 信 人 的 名 字 来 给此 文 件 命 名 。 比 如 说 所 有 robert 发 来 的 邮 件 都 可 以 保 存 到 一 个 名 为 robert 的 文件 中 。 用 命 令 S 而 不 用 命 令 s 就 可 以 自 动 地 为 你 做 这 样 的 保 存 工 作 。 命 令 S 加上 一 个 消 息 的 列 表 就 可 以 将 这 些 指 定 邮 件 保 存 到 一 个 以 发 信 人 名 字 为 文 件 名 的文 件 中 。 如 果 这 个 文 件 不 存 在 , 那 么 命 令 S 就 会 自 动 地 创 建 一 个 。 在 下 面 的 例子 中 , 用 户 保 存 三 封 邮 件 到 一 个 以 发 信 人 名 为 文 件 名 的 文 件 中 , 在 这 个 例 子 中 , 文 件 名 就 为 robert.

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44"Budget"

N 2 aleina W edFeb 1212:30:1728/537"Birthday" N 3 robert FriFeb 143:15:2416/293"Homework"

& S 3 & q

$ ls

mbox robert

$

将 邮 件 连 同 它 的 消 息 头 部 分 一 起 保 存 到 一 个 文 件 中 就 会 创 建 一 个 新 的

mailbox 文 件 , 通 过 Ma il 程 序 你 就 可 以 读 取 和 管 理 这 个 mailbox 中 的 邮 件 。 消息 头 部 分 给 出 了 邮 件 序 号 ,以 便 Ma il 程 序 拥 有 足 够 的 信 息 来 判 断 是 哪 一 封 邮 件 , 显 示 消 息 头 列 表 ,删 除 某 封 信 件 ,以 及 执 行 其 他 的 Mail 操 作 。要 获 得 某 个 ma ilbox 中 的 邮 件 , 你 可 以 在 ma il 命 令 后 加 上 -f 选 项 以 及 该 ma ilbox 的 文 件 名 。 如 果 这时 你 已 经 是 在 Mail 的 shell 中 , 那 么 你 也 可 以 执 行 folder 命 令 来 切 换 到 一 个 指定 的 mailbox 文 件 。 比 如 说 命 令 ma il -f fam ily_msgs 能 够 进 入 mailbox 文 件family_msgs 中 。 然 后 , 会 显 示 一 个 消 息 列 表 , 在 family_msgs 文 件 中 的 每 一封 邮 件 的 信 息 都 会 包 含 在 内 。 Ma il 中 的 命 令 诸 如 d 和 p 等 都 能 够 用 来 对 这 些 邮件 进 行 管 理 。

$ mail -f family_msgs

Mail version 5.5. Type ? for help "family_msgs": 1 message

>1 aleinawed Feb 1212:30:1728/537"Budget"

&

Mail 程 序 是 为 你 对 任 何 指 定 的 mailbox 文 件 进 行 操 作 而 设 计 的 。 系 统 会 把新 到 的 邮 件 放 在 你 的 incoming mailbox 中 , 在 缺 省 情 况 下 , 当 你 启 动 Mail 时 , 你 就 自 动 地 进 入 了 incoming mailbox 中 , 并 对 其 中 的 邮 件 进 行 操 作 。 你 可 以 切换 到 其 他 的 ma ilbox 文 件 , 或 者 只 要 你 喜 欢 就 可 以 切 换 回 你 的 incoming mailbox 。 为 了 切 换 到 另 一 个 mailbox 文 件 , 你 输 入 一 个 folder 命 令 , 后 面 跟 上这 个 mailbox 的 文 件 名 。 于 是 这 个 mailbox 中 的 邮 件 的 消 息 头 等 扼 要 信 息 就 会被 显 示 出 来 , 你 就 可 以 开 始 对 这 些 消 息 进 行 操 作 。 要 想 切 换 回 到 你 的 incoming mailbox 中 ,你 可 以 在 folder 命 令 后 跟 上 一 个 % 符 号 ,% 代 表 的 就 是 你 的 incoming

mailbox 。 你 也 可 以 用 符 号 # 来 代 替 mailbox 文 件 名 来 在 当 前 mailbox 文 件 和 上一 个 mailbox 之 间 切 换 。 # 表 示 的 是 上 一 次 操 作 的 mailbox 文 件 。

在 下 面 的 例 子 中 , 用 户 启 动 Mail 并 进 入 他 的 incoming mailbox, 然 后 使 用folder 命 令 来 切 换 到 family_msgs 这 个 mailbox 文 件 中 。 然 后 该 用 户 又 用 命 令folder % 来 切 换 回 到 开 始 的 incoming mailbox 中。

$ mail

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 2 message 2 new

>N 1 valerieTueFeb 1110:14:325/44"Budget"

N 2 robert FriFeb 143:15:2416/293"Homework" & folder family_msgs

Held 2 message in /var/spool/mail/chris "family_msgs" : 1 message

>1 aleinaWedFeb 12 12:30:1728/537"Birthday"

&folder %

"/var/spool/mail/chris": 2 message 2 new

>N 1 valerieTueFeb 1110:14:325/44"Budge"

N 2 robertFriFeb 143:15:2416/293"Homework"

就 像 前 面 提 到 的 那 样 , 当 你 退 出 Mail 程 序 时 , 你 已 经 读 过 的 邮 件 会 连 同 它们 的 消 息 头 部 分 保 存 在 文 件 mbox 中 。 如 果 文 件 mbox 已 经 存 在 , 那 么 新 邮 件就 会 被 添 加 到 文 件 的 末 尾 。 也 许 你 想 要 重 新 获 得 一 封 阅 读 过 、 现 在 保 存 在 mbox 文 件 中 的 邮 件 。 既 然 文 件 mbox 也 包 含 着 消 息 头 , 它 也 是 一 个 可 以 用 Mail 程 序来 进 行 管 理 操 作 的 mailbox 文 件 。你 可 以 在 上 & 符 号 来 切 换 到 mbox 中( 即 folder & ) , 其 中 符 号 & 代 表 的 是 保 存 你 已 读 信 件 的 文 件 名 。 屏 幕 上 会 显 示 出 一 个 包 含

有 所 有 你 已 经 阅 读 过 的 邮 件 的 消 息 头 列 表 。 Mail 命 令 诸 如 p 和 d 之 类 就 能 够 显示 和 删 除 这 些 邮 件 。 你 甚 至 还 可 以 在 这 里 用 r 或 者 是 R 命 令 来 回 复 信 件 。 在 下面 的 例 子 中 , 用 户 启 动 Mail 程 序 来 获 得 已 经 阅 读 过 的 程 序 。

$ mail -f mboxMail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 2 message 2 new

>1 marylouMonFeb 1110:14:325/44 “ Trip ”

2 dylan FriFeb 143:15:2416/293 “ Food ”

&

保 存 信 件 正 文 到 文 件 中 : 发 送 和 接 受 文 件

假 设 你 只 是 想 保 存 某 封 信 件 的 内 容 而 不 想 连 同 它 的 消 息 头 部 分 的 信 息 。 在这 种 情 况 下 , 你 可 以 使 用 命 令 w 来 将 一 封 信 件 的 正 文 保 存 到 某 个 文 件 中 , 而 不必 包 括 它 的 消 息 头 部 分 。 命 令 w 的 语 法 和 命 令 s 是 一 样 的 。 w 1 newbudget 把信 件 一 的 正 文 保 存 到 文 件 newbudget 中 。 newbudget 是 一 个 标 准 的 文 本 文 件 , 而 不 是 一 个 mailbox 文 件 。 它 并 不 能 用 Ma il 程 序 来 获 得 里 面 的 信 件 内 容 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44"Budget"

N 2 aleina W edFeb 1212:30:1728/537"Birthday" N 3 robert FriFeb 143:15:2416/293"Homework"

& w 1 newbudget

你 可 以 利 用 这 一 特 性 来 从 其 他 用 户 那 儿 获 得 文 件 而 不 仅 仅 是 接 收 消 息 。 利

用 重 定 向 , 任 何 的 用 户 都 能 够 通 过 Mail 程 序 来 个 你 传 送 一 个 文 本 文 件 。 然 后 你就 能 够 利 用 命 令 w 来 接 收 和 保 存 这 个 文 本 文 件 。 反 过 来 , 你 也 能 够 把 某 个 文 本文 件 发 送 给 其 他 用 户 , 然 后 该 用 户 就 同 样 用 命 令 w 来 获 取 这 个 文 本 文 件 。

为 了 利 用 Mail 来 发 送 一 个 文 本 文 件 , 你 就 必 须 使 用 重 定 向 。 Ma il 程 序 的 输入 模 式 能 够 接 收 标 准 输 入 。 反 过 来 标 准 输 入 也 能 够 直 接 从 一 个 文 本 文 件 中 获 取输 入 。 在 下 面 的 例 子 中 , 用 户 把 文 件 complist 发 送 给 了 chris.

$ mail chris < complist

当 你 收 到 这 个 文 本 文 件 时 , 该 文 件 上 附 有 一 个 消 息 头 。 为 了 将 这 份 文 件 不带 消 息 头 地 保 存 下 来 , 你 可 以 使 用 w 命 令 。 假 设 文 件 complist 是 接 收 到 的 第 一条 消 息 , 那 么 命 令 w 1 complist 就 会 把 这 封 邮 件 不 带 消 息 头 的 正 文 部 分 保 存 下来 。

$ mail

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 1 message 1 new

>N 1 aleina Wed Feb 12 12:30:17 5/44 & w 1 complist

用 Mail 程 序 来 传 送 文 件 有 一 个 主 要 的 限 制 , 那 就 是 你 只 能 够 发 送 字 符 文 件而 不 能 发 送 二 进 制 文 件 。 在 传 送 过 程 中 , Ma il 程 序 会 把 这 个 文 件 当 作 是 消 息 头的 输 入 而 破 坏 了 文 件 。 不 过 , 有 其 他 的 一 些 专 门 的 程 序 用 来 传 送 二 进 制 文 件 , 比 如 ftp 等 。 在 第 11 章 中 会 对 二 进 制 文 件 的 传 输 做 详 细 的 探 讨 。 这 些 程 序 在 传送 非 常 大 的 文 件 以 及 二 进 制 文 件 时 要 比 Mail 程 序 要 可 信 赖 得 多 。

Mail 别 名 , 选 项 以 及 Ma il Shell 初 始 配 置 文 件 : . mailrc

Mail 程 序 有 着 它 自 己 的 初 始 配 置 文 件 .mailrc , 每 次 发 送 或 是 接 收 消 息 启 动Mail 程 序 时 ,它 都 会 自 动 执 行 。在 这 个 文 件 里 ,你 可 以 定 义 Mail 的 选 项 和 为 Ma il 建 立 各 种 别 名 。 你 可 以 设 立 选 项 来 给 Mail 增 加 新 的 特 性 , 比 如 说 , 你 可 以 更 改提 示 或 是 保 存 你 所 发 出 信 件 的 拷 贝 。 使 用 Ma il 的 别 名 功 能 , 你 就 能 够 很 容 易 地把 信 件 同 时 发 送 给 几 个 用 户 。 你 会 发 现 在 把 不 同 的 消 息 散 发 给 同 一 组 用 户 时 , Mail 的 这 个 特 性 是 很 有 用 的 。

Mail 别 名

你 也 许 经 常 需 要 发 送 或 是 散 发 消 息 给 同 一 组 用 户 。 举 例 说 来 , 假 设 你 是 一个 研 究 小 组 的 成 员 。 你 想 要 给 这 个 研 究 小 组 中 每 一 个 成 员 发 送 同 一 条 消 息 , 比如 说 你 们 下 次 开 会 的 时 间 。 通 常 , 每 次 你 给 这 一 组 成 员 发 送 消 息 时 , 你 都 不 得不 重 新 输 入 一 遍 所 有 人 的 地 址 。 然 而 , 你 若 是 在 初 始 配 置 文 件 中 为 这 一 组 用 户的 地 址 起 一 个 别 名 , 那 么 以 后 当 你 要 给 他 们 同 时 散 发 某 个 文 件 时 , 就 不 需 要 再把 他 们 的 地 址 一 一 列 出 , 而 只 是 写 上 你 定 义 的 别 名 就 可 以 了 。 这 个 别 名 可 以 代替 在 命 令 行 上 的 地 址 列 表 。

为 了 定 义 一 个 别 名 , 你 可 以 输 入 关 键 字 alias, 然 后 输 入 你 所 选 的 别 名 , 再跟 上 这 个 别 名 所 代 表 的 地 址 列 表 。 这 里 有 一 个 解 决 方 法 是 : 为 地 址 列 表 定 义 的别 名 , 要 在 Ma il 命 令 行 中 使 用 的 话 , 就 必 须 在 Mail Shell 中 对 这 个 别 名 进 行 定义 。 每 次 当 你 离 开 了 Ma il 再 重 新 进 入 Ma il Shell 的 时 候 , 你 都 必 须 重 新 定 义 一遍 这 个 别 名 。 但 如 果 你 是 在 Mail Shell 的 初 始 配 置 文 件 .mailrc 中 放 入 这 个 别 名的 定 义 , 这 个 定 义 的 工 作 可 以 在 你 进 入 Ma il Shell 时 自 动 地 进 行 。 为 了 在 .ma ilrc

文 件 中 加 入 别 名 , 首 先 要 用 一 个 文 本 编 辑 器 诸 如 vi 等 来 编 辑 .mailrc 文 件 。 然 后输 入 alias 命 令 , 然 后 跟 上 别 名 以 及 别 名 代 表 的 地 址 列 表 。 要 确 保 在 地 址 列 表 中没 有 一 换 行 符 来 分 开 这 些 地 址 。 下 面 的 例 子 在 .malric 文 件 中 定 义 了 别 名myclass..mailrc

alias myclass chris dylan aleina justin larisa

当 Mail 启 动 时 , .ma ilrc 文 件 就 会 自 动 地 执 行 , 定 义 别 名 代 表 的 地 址 。 当 你使 用 Mail 来 发 送 一 封 邮 件 时 , 你 可 以 用 别 名 来 取 代 命 令 行 上 的 地 址 列 表 。 你 也可 以 在 Ma il 的 Shell 内 发 送 信 件 时 使 用 别 名 。 这 两 种 情 况 下 , 文 件 .mailrc 都 会被 执 行 , 为 地 址 定 义 别 名 。 在 下 面 的 这 个 例 子 中 , 别 名 myclass 取 代 了 地 址 列表 。 文 件 homework 的 内 容 会 发 送 到 那 些 地 址 包 含 在 myclass 别 名 定 义 中 的 用户 那 里 。

$ mail myclass < homework Mail 选 项

Mail 还 提 供 了 一 组 选 项 , 你 可 以 在 文 件 .mailrc 中 对 它 们 进 行 定 义 , 那 么 在你 每 次 使 用 Mail 时 它 们 都 会 是 有 效 的 。 比 如 说 , 你 可 以 把 Mail 提 示 符 定 义 成其 他 更 多 的 一 些 字 符 而 不 是 & 。

表 8-4 列 举 了 几 种 比 较 常 见 的 Mail 选 项 。 在 关 键 字 set 后 跟 上 选 项 名 , 如果 需 要 的 话 还 要 加 上 一 个 合 适 的 符 号 和 字 符 串 ,你 就 可 以 设 置 一 个 Ma il 的 选 项 。譬 如 ,set prompt =“ * ”会 把 Mail 的 提 示 符 设 置 成 一 个 星 号“ * ”。一 旦 文 件 .ma ilrc 被 执 行 , 那 么 它 就 会 对 在 文 件 中 指 定 的 选 项 进 行 设 置 。

sign 是 一 个 非 常 有 用 的 的 选 项 , 它 能 够 指 定 一 个 签 名 档 , 当 你 使 用 转 义 命令 ~a 时 , 就 可 以 把 这 个 签 名 添 加 到 你 的 邮 件 中 去 。 通 常 sign 选 项 都 被 设 置 为你 的 名 字 或 者 是 加 入 一 些 其 他 信 息 , 比 如 说 你 的 电 话 号 码 、 你 的 ip 地 址 等 等 。

下 面 的 这 个 例 子 把 签 名 设 置 为 “ Robert and Valerie ”

set sign=“ Robert and Valerie ”

你 可 以 使 用 转 义 命 令 ~a 来 将 你 的 签 名 添 加 到 任 何 一 封 邮 件 上 去 。

$ mail aleina Subject : Dinner

Lets have ice cream for dessert OK?

~a

Robert and Valeire

^D EOT

$

另 一 个 非 常 有 用 的 选 项 则 是 record 。 这 个 选 项 会 引 导 Mail 来 自 动 保 存 你 所创 建 和 发 送 的 所 有 消 息 。 在 设 置 record 选 项 的 时 候 , 你 需 要 指 定 Ma il 应 该 把你 要 发 送 的 邮 件 保 存 到 哪 一 个 文 件 中 。 在 下 面 的 例 子 中 , 用 户 设 置 了 record 选项 , 并 且 把 已 经 发 送 出 去 的 邮 件 保 存 在 一 个 叫 做 outbox 的 文 件 中 。 如 果 没 有 指定 一 个 绝 对 路 径 名 , 那 么 这 个 文 件 就 会 放 在 你 的 主 目 录 下 。

set record= “ outbox ”

组 织 你 的 Mailbox 文 件 : folde r, MBOX 以 及 outfolder

你 会 注 意 到 那 些 你 用 s 或 S 命 令 创 建 的 mailbox 文 件 , 以 及 你 的 mbox 文件 会 散 布 在 你 系 统 的 各 个 不 同 目 录 中 。 你 用 命 令 s 创 建 的 mailbox 文 件 会 被 放

置 在 你 当 前 的 工 作 目 录 中 , 无 论 你 启 动 Mail 程 序 时 处 于 的 是 什 么 目 录 。 而 你 用命 令 S 创 建 的 mailbox 文 件 , 还 有 mbox 文 件 则 放 在 你 的 主 目 录 下 。 事 实 上 , 你 可 以 指 定 一 个 专 门 的 目 录 , 来 把 你 所 有 的 mailbox 文 件 都 放 在 里 面 , 而 不 必是 你 的 主 目 录 或 是 你 的 工 作 目 录 。 要 达 到 这 个 目 的 , 你 就 必 须 使 用 到 以 下 这 三个 专 门 的 选 项 : folder, MBOX , 和 outfolde r。

首 先 你 要 建 立 一 个 新 的 目 录 来 存 放 你 的 ma ilbox 文 件 。 然 后 在 你 的 .mailrc 文 件 中 设 置 folder 选 项 , 把 该 目 录 的 路 径 名 字 赋 给 它 。 通 常 用 folder 目 录 来 代表 这 个 目 录 。 folder 选 项 共 有 两 个 作 用 。 一 是 将 所 有 你 用 S 命 令 创 建 的 ma ilbox 文 件 保 存 到 赋 值 给 folder 选 项 的 目 录 中 , 二 是 激 活 了 + 这 个 符 号 , 使 它 在 Ma il 程 序 中 成 为 一 个 专 用 字 符 , 代 表 folder 这 个 目 录 。 当 使 用 命 令 s 时 , 你 可 以 在mailbox 文 件 名 之 前 加 上 一 个 + 号 , 来 把 这 个 mailbox 文 件 保 存 到 folder 指 定 的目 录 中 , 和 其 他 的 mailbox 文 件 放 在 一 起 。 当 你 使 用 folder 命 令 来 切 换 到 另 一个 ma ilbox 文 件 的 时 候 ,你 可 以 在 这 个 mailbox 文 件 名 之 前 加 上 一 个 符 号 + ,Mail 才 会 在 folder 目 录 中 寻 找 该 文 件 。

在 下 面 的 例 子 中 , 用 户 已 经 创 建 了 一 个 叫 做 /home/chris/mail 的 目 录 , 并 且把 这 个 路 径 名 赋 给 了 folder 变 量 。 现 在 用 户 使 用 命 令 S 创 建 的 任 何 ma ilbox 文件 都 会 被 放 在 这 个 目 录 中 。 你 可 以 任 意 地 给 这 个 目 录 起 名 字 , 但 在 本 例 子 中 , 它 就 只 是 简 单 地 叫 mail.

set folder= “ /home/chris/mail”

在 接 下 来 的 例 子 中 , 用 户 把 消 息 二 保 存 到 一 个 名 为 family_msgs 的 文 件 中 。文 件 名 的 前 面 有 一 个 代 表 folder 选 项 指 定 目 录 的 + 号 。 给 定 folder 选 项 的 设 置 如上 面 的 例 子 所 述 , 文 件 名 +family_msgs 会 把 family_msgs 这 个 mailbox 文 件

保 存 到 目 录 /home/chris/mail 下 , 和 其 他 的 mailbox 文 件 放 在 一 起 。 然 后 该 用 户切 换 到 folder 目 录 下 的 其 他 ma ilbox 文 件 中 ,注 意 一 定 要 在 ma ilbox 文 件 名 前 加上 + 号 , 以 便 让 Mail 在 folder 目 录 而 不 是 在 当 前 工 作 目 录 中 寻 找 它 。

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris": 3 message 3 new

>N 1 valerieTueFeb 1110:14:325/44"Budget"

N 2 aleina W edFeb 1212:30:1728/537"Birthday" N 3 robert FriFeb 143:15:2416/293"Homework"

& s 2 +family_msgs "/usr/mail/chris/mail/family_msgs "[ Appended ] & folder +family_msgs

Held 2 messages in /usr/mail/chris "+family_msgs": 1 message 1 new

>1 aleinaWed Feb 1212:30:1728/537"Birthday"

然 而 , 你 的 mbox 文 件 无 论 如 何 都 不 会 被 自 动 地 放 入 这 个 folder 目 录 中 。mbox 文 件 的 名 字 信 息 被 保 存 在 一 个 叫 做 MBOX 的 专 门 的 变 量 中 。 你 可 以 在mbox 的 名 字 前 加 上 一 个 符 号 + , 然 后 赋 给 变 量 MBOX , 那 么 你 就 能 够 把 mbox 文 件 放 到 你 的 folder 目 录 下 。 就 像 刚 才 设 置 folder 选 项 时 那 样 , 你 同 样 地 在 你的 .mailrc 文 件 中 给 MBOX 赋 值 就 可 以 了 。

set MBOX = +mbox

你 还 可 以 指 定 那 些 用 来 保 存 你 发 送 邮 件 的 特 定 文 件 , 来 放 到 你 的 folder 目录 里 。 但 你 必 须 要 先 对 你 的 record 选 项 进 行 定 义 , 把 你 想 要 用 来 保 存 发 送 邮 件的 文 件 名 字 赋 给 它 。 然 后 再 把 这 个 文 件 放 到 你 的 folder 目 录 下 , 你 可 以 象 这 里

示 范 的 那 样 来 设 置 outfolder 选 项 。

set outfolder

你 也 可 以 仅 仅 是 给 record 选 项 赋 值 , 在 那 个 保 存 发 送 邮 件 的 文 件 名 前 加 上一 个 加 号 “ + ” 。

set record=+outbox

当 你 设 置 完 这 三 个 选 项 之 后 , 你 所 有 的 mailbox 文 件 都 会 被 保 存 在 一 个 特定 的 目 录 下 。所 有 的 这 些 设 定 都 应 该 放 在 你 的 .mailrc 文 件 中 。下 面 是 一 个 .ma ilrc 文 件 的 样 本 , 包 含 有 Mail 别 名 和 许 多 其 他 的 变 量 或 选 项 的 赋 值 。

.ma ilrc

alias myclass chris dylan aleina justin larisa set sign="Robet and Valerie"

set folder="/home/chris/mail" set MBOX=+mbox

set record=outbox set outfolder

set prompt="*"

Elm 工 具

另 一 个 流 行 的 邮 件 工 具 则 是 有 Dave Taylor 开 发 的 Elm 。 虽 然 它 并 不 是 一个 正 式 的 标 准 邮 件 工 具 , 却 取 得 了 越 来 越 广 泛 的 应 用 。 E lm 并 不 像 Mail 那 样 使

用 命 令 行 , 而 是 采 取 了 全 屏 的 工 作 方 式 , 用 户 友 好 界 面 使 得 处 理 邮 件 的 任 务 变得 十 分 容 易 执 行 。 消 息 每 次 都 会 显 示 一 整 屏 , 而 且 你 可 以 不 断 翻 屏 来 在 消 息 的前 后 移 动 。 你 不 再 需 要 在 命 令 行 中 输 入 命 令 , 取 而 代 之 的 是 你 键 盘 上 的 键 , 这些 键 作 为 单 字 符 命 令 来 对 邮 件 进 行 操 作 , 就 好 像 你 是 在 使 用 单 字 符 的 vi 命 令 来进 行 编 辑 操 作 那 样 。 Elm 使 用 的 命 令 中 , 有 很 多 与 其 他 工 具 使 用 的 命 令 一 致 , 比 如 说 more 和 vi。 表 8-5 列 举 了 和 其 他 工 具 不 一 样 的 一 些 Elm 命 令 。

用 E lm 发 送 邮 件

在 Elm 中 , 通 过 它 的 命 令 , 你 可 以 把 信 件 发 送 到 任 何 一 位 用 户 手 中 。 信 件的 内 容 可 以 是 你 从 键 盘 上 输 入 的 正 文 或 者 是 一 个 文 件 。 当 你 从 键 盘 上 输 入 信 件内 容 时 , 你 就 像 是 在 使 用 一 个 例 如 vi 之 类 的 标 准 编 辑 器 。

为 了 发 送 一 封 邮 件 , 你 只 要 敲 入 elm 然 后 跟 上 你 要 将 信 件 发 送 给 的 用 户 地址 。 当 你 按 了 回 车 之 后 , E lm 就 会 显 示 把 这 个 用 户 名 字 显 示 出 来 , 然 后 提 示 你输 入 主 题 。 注 意 这 里 Elm 显 示 的 是 这 个 用 户 的 确 切 名 字 而 不 是 用 户 的 地 址 。 它会 从 在 线 信 息 上 获 得 用 户 的 姓 名 , 就 和 使 用 finger 命 令 来 获 得 用 户 姓 名 是 一 样的 。

$ elm robert

Send only mode [ ELM 2.4 PL20 ] To: Robert Petersen

Subject of message : Birthday Copies to:

Invoking editor...

在 主 题 提 示 栏 , 你 可 以 输 入 给 这 封 信 输 入 一 个 主 题 。 然 后 Elm 就 会 提 示 你输 入 一 个 信 件 拷 贝 的 发 送 清 单 。 如 果 你 想 要 把 这 封 信 件 的 拷 贝 发 送 给 其 他 的 用户 , 那 么 你 就 在 这 里 输 入 他 们 的 地 址 列 表 , 如 果 你 并 不 想 这 么 做 , 那 么 你 只 需要 按 回 车 , 跳 过 这 一 部 分 就 行 了 。 这 时 候 一 旦 你 按 了 回 车 键 , 那 么 你 就 进 入 了一 个 标 准 编 辑 器 , 通 常 而 言 都 是 vi 编 辑 器 , 那 么 你 就 可 以 开 始 用 这 个 编 辑 器 去输 入 你 的 信 件 内 容 。 一 定 要 记 住 , 你 使 用 的 是 vi 编 辑 器 , 如 果 你 真 的 要 输 入 邮件 内 容 , 那 么 你 必 须 先 按 a 或 是 i 命 令 来 进 入 vi 的 输 入 模 式 。 当 你 输 入 信 件 后 , 你 可 以 按 Esc 键 来 返 回 到 vi 的 命 令 模 式 。 最 后 当 你 完 成 了 信 件 编 辑 工 作 时 , 用命 令 zz 就 能 够 保 存 信 件 文 本 并 退 出 vi 编 辑 器 。

your present is in the mail really

~

~

~

~

~

~

在 完 成 上 述 步 骤 之 后 , Elm 会 提 示 你 输 入 一 个 动 作 命 令 , 这 时 候 你 可 以 发送 、 不 发 送 而 直 接 退 出 、 重 新 编 辑 这 封 信 件 , 或 是 编 辑 它 的 消 息 头 。 每 一 个 功能 都 只 是 通 过 一 个 单 字 符 命 令 来 实 现 的 。 你 所 要 做 的 只 是 简 单 地 按 一 下 键 盘 , 就 好 像 你 要 按 的 是 一 个 vi 编 辑 器 的 命 令 那 样 , 并 没 有 什 么 命 令 行 来 让 你 在 里 面输 入 这 个 字 母 并 按 回 车 。

P lease choose one of the following options by parenthesized

letter:

e ) dit message , edit h ) eaders , s ) end it , or f) orget it

当 你 运 行 Elm 程 序 时 , 你 可 以 在 命 令 行 使 用 -s 选 项 来 指 定 一 个 主 题 。 在 下面 的 例 子 中 , 主 题 “ Tonight's celebration ” 就 是 在 命 令 行 中 进 行 指 定 的 。 这样 的 话 , Elm 将 不 再 提 示 用 户 输 入 一 个 主 题 。

$ elm george - s " Tonight\'s celebration"

而 在 Elm 消 息 菜 单 中 的 h 选 项 则 是 用 来 编 辑 消 息 头 的 。 使 用 这 个 选 项 你 就可 以 改 变 你 的 消 息 头 中 任 何 一 部 分 , 或 是 给 这 封 信 的 消 息 头 加 上 其 他 的 一 些 信息 , 比 如 一 个 抄 本 传 送 的 地 址 列 表 。 当 你 输 入 一 个 h 的 时 候 , 一 个 编 辑 消 息 头的 屏 幕 就 会 被 显 示 出 来 , 为 消 息 头 的 每 一 栏 都 列 举 了 提 示 。 要 想 更 改 或 是 添 加这 些 栏 的 值 , 只 需 要 按 一 下 消 息 头 提 示 部 分 的 第 一 个 字 母 就 够 了 。 在 屏 幕 的 底端 会 有 提 示 告 诉 你 每 一 栏 的 名 字 , 你 就 可 以 根 据 这 些 提 示 来 输 入 一 个 新 的 内 容 。按 下 回 车 键 , 这 些 新 内 容 就 会 在 消 息 头 部 分 显 示 出 来 。

比 如 说 , 倘 若 要 修 改 主 题 , 就 可 以 先 按 一 个 s , 然 后 系 统 就 会 提 示 你 输 入 一个 新 的 主 题 。 在 输 入 了 这 个 新 主 题 并 按 回 车 之 后 , 主 题 栏 的 新 内 容 就 会 在 消 息头 中 显 示 出 来 。 你 还 可 以 同 样 地 编 辑 消 息 头 的 其 他 栏 内 容 。 如 果 要 添 加 一 个 抄件 传 送 的 地 址 清 单 , 那 么 就 要 按 b 键 , 然 后 跟 着 输 入 要 想 传 送 的 地 址 并 回 车 。一 旦 按 了 回 车 键 , 你 就 离 开 了 消 息 头 编 辑 屏 幕 , 这 时 候 你 看 到 的 并 不 是 消 息 头提 示 部 分 的 首 字 母 , 而 是 回 到 了 开 始 的 消 息 菜 单 的 界 面 下 。 图 8-1 显 示 了 消 息头 编 辑 屏 幕 的 一 个 样 本 。

Message Header Edit Screen

T ) o: robert ( Robert Petersen) C ) c:

B ) cc:

S ) ubject Birthday

R ) eply to:

A ) ction:E)xpires:

P ) riority:Precede(n)ce:

I) n-reply to:

Choose heade r, u ) ser defined heade r, d ) omainize

!) shell, or {enter}

Choise:

图 8-1Elm 的 消 息 编 辑 屏 幕

Mailbox is '/var/spool/mail/chris's with 3 messages N1 Gabriel Matoza Feb 11(5)"Budget"

N2 Aleina Petersen

Feb 12 ( 28 )

"Birthday"

N3 Marylou Carrion

Feb 14 ( 16 )

"Homework"

You can use any of the following commands by pressing the first character:d )elete or u )ndelete mail , m )ail a message , r)eply or f )orward mail , q ) uit To read a message , press {enter}. j=move down , k=move up , ?=help

Command:

图 8-2Elm 的 消 息 头

使 用 Elm 来 接 受 邮 件

如 果 想 要 用 Elm 来 接 受 邮 件 , 你 只 要 和 用 E lm 来 发 送 邮 件 时 做 一 样 的 工 作

— — 在 命 令 行 上 输 入 单 独 的 一 个 elm 就 够 了 。 于 是 Elm 程 序 就 会 显 示 一 个 消 息头 的 列 表 , 在 这 些 消 息 头 中 对 你 已 收 到 邮 件 的 信 息 进 行 描 述 。 消 息 头 是 从 屏 幕的 顶 端 开 始 列 写 的 , 在 屏 幕 的 底 端 则 是 一 个 信 息 菜 单 , 里 面 列 举 了 在 这 个 消 息头 屏 幕 中 你 可 以 执 行 的 操 作 命 令 。 在 E lm 中用 index 来 指 代 这 个 消 息 头 列 表 。这 些 消 息 头 的 信 息 显 示 在 屏 幕 上 就 好 像 是 一 篇 用 vi 编 辑 器 编 辑 的 文 本 。 如 果 邮件 的 消 息 头 部 分 内 容 多 于 一 屏 , 你 可 以 用 + 键 来 翻 到 下 一 屏 。 当 然 你 也 可 以 用 - 键 来 翻 回 到 上 一 屏 。

E lm 的 消 息 头 看 起 来 和 Ma il 中 是 一 样 的 。 一 个 Elm 的 消 息 头 中 包 括 有 : 状态 指 示 符 、 邮 件 序 号 、 日 期 、 发 信 者 姓 名 、 信 件 的 行 数 以 及 主 题 。 和 Mail 一 样 , Elm 用 一 个 字 符 来 表 示 信 件 的 状 态 。 N 表 示 这 是 一 封 新 收 到 的 信 件 , O 则 表 示是 一 封 仍 未 读 过 的 旧 邮 件 。 而 邮 件 序 号 则 是 用 来 在 Elm 命 令 中 指 代 对 应 的 邮 件 。图 8-2 显 示 了 一 个 E lm 消 息 头 的 样 本 。 里 面 的 邮 件 都 是 新 收 到 的 。 第 一 封 信 件是 二 月 11 日 Gabriel Matoza 寄 来 的 , 该 邮 件 共 有 5 行 , 主 题 为 Budget 。 注 意到 在 消 息 头 中 显 示 出 来 的 是 发 信 者 的 全 名 而 不 是 发 信 者 的 地 址 。

当 前 邮 件 的 前 面 会 有 一 个 箭 头 -> 来 指 示 , 或 者 是 背 景 被 置 为 高 亮 度 。 如 果要 对 某 封 邮 件 执 行 特 定 的 操 作 , 你 就 必 须 使 这 封 待 操 作 的 邮 件 成 为 当 前 邮 件 。

你 可 以 通 过 好 几 种 方 法 来 达 到 这 个 目 的 : 或 者 是 输 入 这 封 邮 件 的 序 号 然 后 回 车 ; 或 者 是 通 过 使 用 移 动 命 令 j 和 k , 来 在 屏 幕 上 直 接 移 动 当 前 邮 件 的 指 示 符 ,其 中 , j 命 令 是 将 表 示 当 前 邮 件 的 -> 指 示 符 移 动 到 上 一 封 邮 件 , k 命 令 则 使 -> 移 到 下 一封 邮 件 。 你 还 可 以 使 用 上 下 两 个 方 向 键 来 达 到 同 样 的 目 的 。 当 你 按 k 或 j 命 令时 , 那 些 表 示 当 前 邮 件 位 置 的 -> 或 是 高 亮 度 条 会 随 着 你 的 命 令 而 移 动 到 上 一 封或 下 一 封 邮 件 。 如 果 当 前 邮 件 是 第 一 封 邮 件 的 话 , 那 么 按 j 命 令 两 次 则 最 后 一封 信 件 会 成 为 当 前 邮 件 。

若 想 要 显 示 当 前 邮 件 的 内 容 , 你 只 要 简 单 地 按 一 下 回 车 就 可 以 了 。 如 果 是要 显 示 其 他 的 信 件 , 你 则 可 以 采 取 按 k 、 j 命 令 来 使 之 成 为 新 的 当 前 邮 件 或 是 输入 该 信 件 的 序 号 方 法 , 然 后 回 车 。 一 个 显 示 有 信 件 内 容 的 新 屏 幕 会 出 现 在 你 的面 前 。 如 果 该 信 件 内 容 长 于 一 屏 , 你 可 以 用 和 more 程 序 一 样 的 命 令 来 不 断 翻屏 。 敲 击 空 格 键 你 就 会 进 入 下 一 屏 , 而 按 b 则 回 到 上 一 屏 。 你 甚 至 能 够 在 这 封信 件 中 搜 寻 某 个 指 定 的 模 式 。

Message 1/3 From Aleina PetersenFeb 11 , 9604:13:56 am -0300

Subject: Birthday

To: robert ( Robert Peterson )

Date: Mon , 12 Feb 1996 10:14:17 -0700 ( PDT )

Yes , I did remember your present A leina

Command ( 'i' to return to index) :

当 你 检 查 完 你 的 信 件 后 , 就 可 以 使 用 i 命 令 来 返 回 到 显 示 消 息 头 的 界 面 下 。也 就 是 说 只 要 简 单 地 按 一 下 i 键 就 可 以 了 , i 代 表 的 就 是 Elm 用 来 指 代 消 息 头 列表 的 索 引 ( inde x) 。 按 p 键 则 可 以 打 印 邮 件 。 如 果 是 单 独 的 一 个 p 那 么 打 印 的就 是 当 前 消 息 头 所 指 向 的 信 件 内 容 , 而 若 是 在 p 后 面 跟 上 一 个 信 件 序 号 则 可 以打 印 一 个 指 定 的 邮 件 。

如 果 你 想 同 时 对 若 干 信 件 进 行 操 作 , 那 么 你 首 先 要 使 用 命 令 t 来 标 记 它 们 , 然 后 再 输 入 一 个 操 作 命 令 , 则 此 命 令 会 对 这 几 封 标 记 了 的 信 件 同 时 起 作 用 。 标记 邮 件 只 要 将 当 前 邮 件 指 示 符 移 到 该 邮 件 上 并 按 t 键 就 可 以 了 , 然 后 你 就 会 看到 一 个 + 符 号 出 现 在 该 消 息 头 之 前 。 假 设 你 要 同 时 打 印 若 干 邮 件 , 你 就 可 以 使 用命 令 t 来 对 这 些 想 要 打 印 的 邮 件 的 消 息 头 做 标 记 , 然 后 按 p 键 来 打 印 它 们 。 在下 面 的 这 个 例 子 中 , 用 户 给 前 两 封 邮 件 设 了 标 记 。 如 果 他 接 着 按 了 p 键 , 那 么消 息 一 及 消 息 二 的 内 容 都 会 被 打 印 出 来 。

+N 1 Gabriel MatozaFeb 11 ( 5 ) "Budget"

+N 2

Aleina Petersen

Feb 12 ( 28 )

"Birthday"

N 3

Marylou Carrion

Feb 14 ( 16 )

"Homework"

此 外 Elm 还 允 许 你 通 过 模 式 来 选 择 一 个 当 前 消 息 头 。 Elm 中 有 若 干 条 这 样 的 命令 , 能 够 根 据 指 定 的 模 式 来 搜 寻 邮 件 的 不 同 部 分 。 命 令 / 能 够 在 一 个 消 息 头 的 地址 和 主 题 栏 中 寻 找 指 定 的 模 式 , 而 双 斜 杠 命 令 //则 能 够 在 邮 件 的 正 文 部 分 搜 寻 指定 模 式 。 如 果 你 输 入 了 一 个 / 命 令 , 那 么 Elm 将 提 示 你 输 入 一 个 要 寻 找 的 模 式 。

一 旦 你 按 了 回 车 键 , 那 么 Elm 就 开 始 在 每 一 个 消 息 头 的 地 址 与 主 题 栏 中 寻 找 你输 入 的 这 个 模 式 。 然 后 它 会 在 找 到 的 第 一 个 与 指 定 模 式 相 匹 配 的 消 息 头 处 停 下来 , 并 且 使 它 成 为 当 前 消 息 。 以 前 面 所 举 的 例 子 为 例 , 如 果 你 搜 寻 一 个 包 含 有模 式 “ birth ” 的 消 息 头 , 那 么 你 就 能 够 使 第 二 条 消 息 成 为 当 前 消 息 头 。

命 令 //能 够 在 你 的 信 件 正 文 中 搜 寻 所 指 定 的 模 式 。 输 入 一 个 //命 令 , 然 后 Elm 就 会 提 示 你 输 入 一 个 模 式 。 Elm 将 会 在 你 所 有 信 件 的 正 文 中 寻 找 , 并 在 第 一 个正 文 中 含 有 相 匹 配 模 式 的 消 息 头 处 停 下 来 , 同 时 使 这 条 消 息 成 为 当 前 消 息 。 比如 说 , 如 果 用 户 输 入 了 一 个 //以 及 模 式 congratulations, 然 后 Elm 在 信 件 正 文中 寻 找 , 在 第 一 条 消 息 正 文 中 得 到 一 个 congratulations 的 匹 配 , 那 么 第 一 条 消息 也 就 成 为 了 当 前 消 息

->N 1Gabriel MatozaFeb 11 ( 5 ) "Budget"

N 2Aleina Petersen Feb 12 ( 28 ) "Birthday" N 3Marylou Carrion Feb 14 ( 16 ) "Homework"

其 他 的 寻 找 命 令 则 执 行 一 些 专 门 的 操 作 , 比 如 命 令 CTRL-t 能 够 根 据 某 个 模式 来 对 消 息 头 做 标 记 , 或 者 是 象 命 令 CTRL-d 那 样 对 包 含 有 某 个 模 式 的 消 息 进行 删 除 操 作 。 你 可 以 用 命 令 CTRL-t 来 标 记 来 自 某 个 用 户 的 所 有 信 件 或 者 是 关于 某 个 题 目 的 所 有 信 件 。 然 后 你 就 可 以 对 这 些 标 记 好 的 信 件 进 行 诸 如 打 印 等 操作 。 举 例 说 来 , 假 设 你 要 打 印 所 有 关 于 “ birthda y” 这 一 主 题 的 信 件 , 首 先 要 做的 是 输 入 CTRL-t 以 及 模 式 birthda y, 这 样 就 能 够 把 所 有 关 于 生 日 的 信 件 都 做 上标 记 , 然 后 再 按 p 键 , 于 是 这 些 标 记 了 的 邮 件 就 都 会 被 打 印 出 来 。

退 出 Elm 程 序

按 q 键 , 你 就 可 以 退 出 了 Elm 程 序 。 在 你 离 开 Elm 之 前 , Elm 会 问 你 是 否想 把 你 所 读 的 邮 件 保 存 到 你 的 received mailbox 文 件 中 。 received mailbox 文件 的 名 字 包 含 在 一 个 叫 做 received 的 E lm 变 量 中 。 此 外 E lm 还 会 问 你 是 否 要将 未 读 的 邮 件 保 存 到 你 的 收 件 箱 中 , 以 便 于 你 下 一 次 再 阅 读 它 们 。 如 果 选 择 了不 保 存 , 那 么 这 些 未 读 过 的 信 件 就 会 被 删 除 掉 。 当 然 在 你 这 次 使 用 Elm 期 间 删除 过 信 件 , 那 么 E lm 也 会 让 你 再 一 次 确 认 是 否 真 的 删 除 它 们 。 在 下 面 的 例 子 中 , 用 户 确 定 要 删 除 信 件 , 把 已 读 过 的 邮 件 保 存 到 received mailbox 文 件 中 , 并 且将 未 阅 读 的 邮 件 保 留 下 来 以 供 下 一 次 启 动 E lm 时 阅 读 。

D lee message? ( y/n ) n

Move read messages to "received" folder? ( y/n ) y Keep unread messages in incoming mailbox? ( y/n ) y Keeping 2 messages and storing 1

另 外 还 有 几 个 命 令 可 以 用 来 退 出 Elm 。 命 令 Q 会 直 接 退 出 E lm 而 不 给 出 任

何 关 于 移 动 已 读 信 件 或 是 保 留 未 读 邮 件 的 提 示 。 根 据 事 先 设 置 好 的 缺 省 情 况 来决 定 是 否 保 存 信 件 。 命 令 x 和 CTRL-q 命 令 也 能 够 退 出 Elm 程 序 , 并 使 收 件 箱完 好 如 初 , 所 有 执 行 的 删 除 操 作 或 是 阅 读 都 被 忽 略 掉 。

删 除 和 反 删 除 信 件 :d 和 u

如 果 要 删 掉 当 前 消 息 , 只 要 简 单 地 按 一 下 d 键 就 够 了 。 这 封 信 件 前 面 的 状态 指 示 符 就 会 变 成 一 个 D , 并 且 在 你 离 开 Elm 时 删 除 掉 这 封 信 件 。 如 果 要 删 除

的 信 件 并 不 是 当 前 信 件 , 那 么 你 就 要 使 用 j 或 是 k 键 来 将 当 前 消 息 标 志 移 动 到这 封 信 件 前 , 或 者 是 输 入 这 封 信 件 的 序 号 , 然 后 再 按 d 键 。 要 删 除 第 五 封 信 件就 只 要 先 按 5 然 后 按 d 。 如 果 想 要 同 时 删 除 若 干 封 信 , 则 要 先 用 t 来 标 记 它 们 , 然 后 再 按 d 命 令 。 在 下 面 的 例 子 中 , 用 户 已 经 删 除 了 第 二 封 信 件 , 于 是 第 二 封信 的 状 态 指 示 符 变 成 了 一 个 D 。

N 1Gabriel MatozaFeb 11 ( 5 ) "Budget"

->D 2 Aleina Petersen Feb 12 ( 28 ) "Birthday"

N 3 Marylou Carrion Feb 14 ( 16 ) "Homework"

你 也 可 以 用 命 令 CTRL-d 来 选 择 一 组 在 地 址 或 标 题 栏 中 包 含 有 某 个 指 定 模式 的 消 息 , 然 后 再 删 除 。 利 用 这 个 特 性 , 你 就 可 以 删 除 来 自 某 个 用 户 的 所 有 信件 或 是 关 于 某 个 主 题 的 所 有 信 件 。 在 下 面 的 例 子 中 , 用 户 决 定 删 除 所 有 来 自Aleina 的 信 件 , 于 是 他 按 CTRL-d , 并 在 输 入 一 个 模 式 的 提 示 后 输 入“ Aleina” 。第 二 封 和 第 四 封 邮 件 的 地 址 栏 和 此 模 式 相 匹 配 , 因 此 Elm 就 为 它 们 做 上 删 除 标记 。

N 1 Gabriel MatozaFeb 11 ( 5 ) "Budget"

D

2

Aleina Petersen

Feb 12 ( 28 )

"Birthday"

N

3

Marylou Carrion

Feb 14 ( 16 )

"Homework"

->D 4 Aleina Petersen Feb 16 ( 32 ) "party"

要 恢 复 一 个 消 息 , 移 动 到 它 的 头 部 或 者 输 入 它 的 消 息 号 , 然 后 按 下 u 键 。该 消 息 的 状 态 就 由 D 变 成 U , 表 明 一 个 恢 复 操 作 。 相 应 于 用 u 键 来 恢 复 删 除 的消 息 或 者 是 加 标 签 的 消 息 , CTRL-u 命 令 将 恢 复 删 除 的 在 它 们 的 地 址 或 者 主 题

区 域 中 带 有 某 个 模 式 的 所 有 消 息 。 CTRL-u 和 CTRL-d 使 用 方 法 一 样 。

回 复 消 息

在 Elm 使 用 工 具 中 , 你 可 以 给 你 收 到 的 任 何 一 个 消 息 发 一 个 回 复 。 Elm 用一 个 消 息 的 头 信 息 来 判 定 发 送 者 的 地 址 。 r 命 令 发 送 一 个 消 息 的 回 复 。 你 通 过 首先 把 一 个 消 息 头 变 成 当 前 的 消 息 头 或 者 通 过 输 入 该 消 息 的 序 号 , 然 后 按 r 键 来回 复 一 条 消 息 。 要 使 用 r 键 , Elm 首 先 询 问 你 是 否 在 你 的 回 复 中 包 含 该 消 息 的一 个 拷 贝 。 你 回 答 y 或 者 n 。 Elm 然 后 打 开 一 个 屏 幕 把 发 送 者 的 名 字 和 主 题 显示 在 顶 部 。 光 标 处 于 主 题 位 置 , 如 果 你 愿 意 可 以 让 你 改 变 主 题 。 按 回 车 键 继 续 。然 后 你 被 提 示 你 是 否 希 望 发 送 其 他 副 本 。 通 过 输 入 回 车 键 , 你 就 可 以 进 入 一 个象 Vi 这 样 的 标 准 编 辑 器 , 在 里 面 你 可 以 输 入 你 想 回 复 的 文 字 。 就 像 和 一 个 普 通的 消 息 一 样 , 要 输 入 文 字 , 首 先 你 要 通 过 一 个 a 命 令 进 入 输 入 方 式 。 你 用 ESC 退 出 输 入 模 式 。 然 后 是 zz 命 令 保 存 文 本 返 回 到 Elm 中 。 发 送 消 息 的 菜 单 就 被显 示 出 来 。 然 后 你 就 可 以 按 s 键 来 发 送 这 条 消 息 。

从 E lm 中 发 送 消 息

当 你 在 Elm 实 用 工 具 中 你 可 以 用 m 命 令 来 发 送 消 息 。 通 过 按 下 m 键 , 你就 被 提 示 输 入 你 想 发 给 消 息 的 用 户 的 地 址 。 你 输 入 地 址 然 后 就 被 提 示 输 入 主 题 。在 主 题 之 后 , 你 被 询 问 你 是 否 想 发 送 其 他 副 本 。 如 果 不 想 , 按 下 回 车 键 。 然 后你 就 在 一 个 Vi 编 辑 器 中 , 你 可 以 编 辑 和 输 入 你 的 消 息 。 在 推 出 编 辑 器 之 后 , 你

可 以 用 s 命 令 来 发 送 这 条 消 息 。

在 E lm 中 保 存 消 息

你 可 以 用 s 命 令 把 一 条 消 息 保 存 到 一 个 邮 箱 中 。 或 者 是 把 当 前 的 头 变 成 你想 保 存 的 消 息 头 , 或 者 是 输 入 消 息 的 序 号 , 然 后 按 下 s 键 。 在 屏 幕 的 底 部 , Elm 给 你 提 供 保 存 提 示 一 个 缺 省 的 邮 箱 的 文 件 名 称 。 这 个 名 称 就 是 发 送 者 的 消 息 的名 称 。 Elm 假 设 你 也 许 希 望 根 据 谁 发 送 的 消 息 把 它 们 保 存 到 不 同 的 信 箱 文 件 中来 组 织 消 息 。 要 在 发 送 者 的 名 字 显 示 在 邮 箱 上 提 示 保 存 的 时 候 保 存 你 的 消 息 , 就 按 下 回 车 键 。 反 之 , 如 果 你 想 在 提 示 保 存 的 时 候 用 自 己 选 的 名 字 来 保 存 该 消息 , 输 入 一 个 = 符 号 紧 跟 着 是 文 件 的 名 字 。 例 如 , 要 把 你 的 消 息 保 存 到 文 件birthdays , 输 入 =birthdays 。

如 果 你 想 把 几 个 消 息 保 存 到 同 一 个 信 箱 文 件 中 , 你 首 先 给 该 消 息 头 加 上 标签 , 再 按 下 s 键 。 你 接 下 来 指 明 的 邮 箱 文 件 就 会 把 所 有 加 标 签 的 消 息 保 存 在 里面 。

E lm 还 提 供 两 个 特 殊 的 邮 箱 文 件 ,它 们 的 名 字 在 Elm 变 量 中 引 用 为 received 和 sen t。 received 邮 箱 文 件 和 邮 件 中 的 一 个 mbox 文 件 类 似 。 你 读 过 的 邮 件 在你 退 出 Elm 的 时 候 会 自 动 保 存 在 这 个 文 件 中 。 sent 文 件 通 常 是 用 来 放 你 已 经 发送 的 消 息 。 你 可 以 通 过 在 提 示 保 存 的 时 候 输 入 一 个 > 来 显 式 的 把 你 的 消 息 存 放 在received 邮 箱 文 件 中 。 一 个 < 将 把 消 息 保 存 到 sent 邮 箱 中 。

用 E lm 来 读 取 邮 箱 文 件

在 Elm 中 , 你 可 以 从 阅 读 收 到 的 消 息 切 换 到 读 取 一 个 特 定 的 邮 箱 文 件 。 c 命 令 将 提 示 你 一 个 邮 箱 文 件 的 名 称 。 只 要 按 下 c 键 提 示 就 出 现 了 。 提 示 将 显 示用 来 保 存 当 前 的 消 息 头 的 发 送 者 所 发 送 的 消 息 的 邮 箱 文 件 的 名 称 。 你 可 以 通 过在 一 个 = 符 号 之 后 输 入 文 件 的 名 字 来 打 开 一 个 你 自 己 的 邮 箱 文 件 。 =birthdays 将指 明 birthday 邮 箱 文 件 。 在 下 一 个 例 子 中 , 当 前 的 头 是 一 个 叫 做 aleina 的 用 户发 送 的 消 息 。 当 用 户 按 下 c 命 令 的 时 候 , “ 改 变 文 件 夹 ” 的 提 示 就 显 示 在 命 令提 示 上 , 作 为 缺 省 , 发 送 这 个 消 息 的 用 户 也 显 示 在 “ 改 变 到 哪 个 文 件 夹 ” 提 示中 。 在 这 个 例 子 中 , 用 户 的 名 字 是 aleina 。

Command: Change folder Change to which folder:=aleina

The user then enters the new folder name at the prompt,

overwriting =aleina:

Command: Change folder

Change to which folder: =birthdays

一 旦 你 改 变 到 另 一 个 文 件 夹 , 在 这 个 邮 箱 文 件 中 所 有 消 息 的 消 息 头 都 将 被显 示 , 你 就 可 以 显 示 这 些 消 息 , 把 它 们 从 文 件 中 删 除 , 或 者 是 发 送 一 个 回 复 。文 件 夹 的 名 字 将 在 屏 幕 上 方 被 显 示 。

你 可 以 在 文 件 夹 提 示 中 通 过 输 入 一 个 名 字 来 打 开 其 他 任 何 一 个 文 件 夹 。 输

入 一 个 !将 改 回 到 到 来 文 件 箱 。 按 下 > 将 改 到 received 文 件 夹 , < 将 回 到 sent 文件 夹 。

Elm 别 名 : 别 名 菜 单 和 a liases.text

你 可 以 在 使 用 工 具 中 的 Elm 别 名 菜 单 中 , 或 者 是 在 一 个 叫 作 aliases.text 的特 殊 Elm 初 始 化 文 件 中 输 入 别 名 来 创 建 一 个 别 名 。 当 然 别 名 菜 单 是 管 理 Elm 别名 最 简 单 和 有 效 的 方 法 。 但 是 , 如 果 你 想 加 入 一 组 别 名 , 象 Mail 用 的 那 样 , 你就 需 要 知 道 怎 样 在 aliases.texe 文 件 中 直 接 输 入 一 个 别 名 。

Elm 别 名 : 别 名 菜 单

要 在 Elm 使 用 工 具 中 创 建 一 个 别 名 , 你 使 用 a 命 令 , 它 将 显 示 别 名 菜 单 。你 可 以 在 菜 单 中 输 入 命 令 来 创 建 一 个 别 名 , 删 除 一 个 别 名 , 或 者 是 列 出 所 有 的别 名 或 者 特 定 的 别 名 。 要 创 建 一 个 新 的 别 名 , 你 通 过 按 下 n 键 来 选 择 新 别 名 选项 。 然 后 Elm 就 提 示 你 输 入 别 名 , 用 户 名 , 和 用 户 的 地 址 。 然 后 它 自 动 把 这 个别 名 安 装 和 添 加 到 aliases.text 文 件 中 。

A liases [ ELM 2.4 PL20 ]

You can use any of the following commands by pressing the first character;

a ) lias current message, n ) ew alias, d ) elete or u ) ndelete an alias, m ) ail ro alias, or r) eturn to main memu. To view an alias press <enter>.

j = move down , k = move up , ? = help

A lias:n

Add a new alias to database..

Enter alias name:mark

下 面 的 例 子 将 一 个 接 一 个 的 显 示 在 一 行 上 。 在 输 入 该 别 名 的 名 称 之 后 , 那个 提 示 和 名 称 将 被 一 个 要 你 输 入 你 要 做 别 名 的 那 个 人 的 姓 氏 的 提 示 代 替 。 提 示你 输 入 姓 氏 的 提 示 又 被 输 入 姓 的 提 示 的 符 号 代 替 ,然 后 继 续 , 被 地 址 提 示 符 代 替 。最 后 , 你 被 询 问 你 是 否 接 受 一 个 新 的 提 示 符 号 。 你 可 以 输 入 y 或者 n .

Enter last name for mark: Petersen Enter first name for mark: Mark Enter optional comment for mark:

Enter address for mark: mark @ violet.berkeley.edu

Messages addressed as: mark@violet.berkeley.edu (mark petersen)

New alias: mark is 'Mark Petersen'. Accept new alias? (y/n) y

你 也 可 以 为 当 前 消 息 头 所 指 明 的 消 息 发 送 人 创 建 一 个 别 名 。 在 这 种 情 况 下 , 按 动 Elm 别 名 菜 单 里 的 a 命 令 。 Elm 将 指 示 你 填 入 一 个 别 名 , 但 将 从 消 息 头 得到 用 户 的 名 字 和 地 址 。 别 名 将 自 动 安 置 并 被 加 到 aliases.tex t。 以 上 可 能 是 创 建别 名 最 简 单 的 方 法 了 。

通 过 按 下 d 键 , 你 可 以 删 除 一 个 别 名 。 Elm 提 示 你 输 入 别 名 , 然 后 将 之 从

aliases.text 文 件 中 删 掉 。 你 也 可 以 用 l 命 令 列 出 别 名 清 单 , 或 用 p 命 令 列 出 包

括 名 字 和 地 址 在 内 的 详 细 别 名 清 单 。

Elm 中 的 别 名 : .elm 和 aliases.text

E lm 在 你 的 根 目 录 下 保 留 着 一 个 名 为 .elm 的 目 录 , 通 过 它 可 以 对 你 对 Elm 的 使 用 进 行 设 置 。 每 次 你 激 活 E lm , 都 将 为 你 的 应 用 生 成 一 个 shell , 在 其 中 你可 以 定 义 自 己 的 别 名 和 设 置 变 量 。 .elm 目 录 里 有 一 些 特 别 的 初 始 化 文 件 , 你 可以 将 别 名 和 设 置 变 量 放 在 这 些 文 件 里 。 这 些 初 始 化 文 件 操 作 起 来 就 像 .ma ilrc 文件 , 象 用 .mailrc 设 置 Mail 一 样 , 可 以 用 它 们 设 置 你 的 Elm 功 能 。

你 可 以 在 .elm 目 录 下 的 aliases.text 文 件 中 定 义 Elm 别 名 。 E lm 别 名 的 命 名规 则 是 : 别 名 , 一 个 等 号 , 用 户 名 , 另 一 个 等 号 , 用 户 地 址 。

alias = user name = user address

在 下 一 个 例 子 中 , 用 户 为 Gabriel Matoza 创 建 了 一 个 别 名 , 地 址 为 地 址 为

gabriel @garnet.berkeley.edu 的 gabriel @ garnet.berkeley.edu 。Sgabe = Gabriel Matoza = gabriel @ garnet.berkeley.edu

你 可 以 让 一 个 人 拥 有 许 多 别 名 。 只 需 列 出 它 们 , 用 冒 号 将 两 两 开 。 在 下 一个 例 子 中 , 用 户 为 robert @v iolet.fallon.edu 的 Petersen 创 建 了 两 个 别 名 。

robert, bob = Robert Petersen = robert@violet.fallon.edu

你 每 创 建 一 个 独 立 的 的 别 名 , 都 可 以 用 它 们 来 创 建 别 名 组 。 一 个 别 名 组 和在 Ma il 的 .mailrc 文 件 中 使 用 的 别 名 的 操 作 方 式 相 同 。 当 你 向 一 个 别 名 组 发 送 一个 消 息 , 它 将 被 送 到 组 中 每 一 个 用 户 那 里 。 你 可 以 用 下 面 的 方 法 定 义 别 名 组 。alias-list 中 是 已 定 义 的 被 逗 号 隔 开 的 独 立 用 户 别 名 。

group alias = group name = alias-list

在 下 一 个 例 子 中 , 用 户 使 用 从 前 定 义 的 “ gabe ” 和 “ robert” 创 建 了 一 个 别名 组 。别 名 组 称 作 myclass ,组 名 是“ photography class ”。如 果 用 户 向 myclass 发 送 一 个 消 息 , 它 将 送 往 robert @ violet.fallon.edu 和gabriel @garnet.berkeley.edu

myclass = photography class =robert, gabe

下 面 的 例 子 是 alias.text 文 件 。 注 意 先 定 义 独 立 的 别 名 , 下 面 的 别 名 组 使 用了 这 些 别 名 。

alias.text

gabe = gabriel matoza = valerie@garnet.berkeley.edu robert, bob = robert petersen = robert@violet.edgene.edu myclass = photography class = robert , val

每 当 你 在 alias.text 文 件 中 加 入 了 新 别 名 , 都 必 须 通 过 执 行 newalias 命 令 来将 它 们 安 置 到 Elm 系 统 中 。

El m 选 项 : .elmrc

E lm 有 许 多 不 同 的 选 项 来 设 置 你 的 Elmshell 。 这 些 选 项 是 些 变 量 , 可 以 开关 或 赋 值 。 一 些 E lm 选 项 是 很 简 单 的 开 关 量 , 你 可 以 使 用 特 定 值 YES 和 NO 来 打 开 或 关 掉 它 。 例 如 , 语 句 alwaysstore=YES 就 是 将 选 项 设 置 为 随 时 把 接 到的 邮 件 存 储 到 received 信 箱 文 件 中 。其它的 Elm 选 项 使 用 字 符 串 来 设 置 。例 如 , 语 句 receivedmail=mybox 将 选 项 receivedmail 设 为 “ mybox ” 。 这 个 选 项 装有 乘 放 接 受 邮 件 的 文 件 的 文 件 名 。 在 这 个 例 子 中 , 收 到 的 邮 件 将 被 存 入 mybox

文 件 中 。

通 过 在 你 的 .elm 目 录 下 的 .elmrc 文 件 输 入 语 句 , 或 者 使 用 Elm 的 选 项 菜 单 , 你 可 以 对 选 项 进 行 设 置 。 在 Elm 中 , 命 令 o 激 活 选 项 菜 单 。 选 项 菜 单 只 显 示 比较 常 用 的 一 些 选 项 。 当 改 变 一 个 选 项 时 , 按 下 该 选 项 的 第 一 个 字 母 , 然 后 输 入一 个 新 值 。

8.6Pine

P ine 是 一 个 邮 件 程 序 ,同 时 有 新 闻 浏 览 功 能 。P ine 与 Internet 新 闻 组 和 Ema il 程 序 相 兼 容 。 使 用 Pine 的 email 功 能 , 你 可 以 轻 松 地 发 送 消 息 、 文 本 和 图 片 。它 有 一 个 丰 富 的 选 项 序 列 , 有 兼 容 性 好 的 Internet 连 接 性 能 , 使 你 既 能 接 收 信件 接 收 Usenet 新 闻 。 Pine 也 为 你 提 供 了 一 个 地 址 手 册 , 可 以 把 常 用 的 Ema il 地 址 放 在 里 面 。 Pine 从 命 令 行 启 动 , 界 面 简 捷 , 并 使 用 光 标 。 输 入 命 令 pine 即 可 启 动 Pine。

P ine 支 持 全 屏 幕 光 标 控 制 。 图 18-3 显 示 了 它 所 使 用 的 菜 单 , 通 过 方 向 键 可

以 移 动 光 标 指 向 不 同 的 条 目 , 回 车 键 确 认 。 每 一 个 条 目 用 一 个 大 写 字 母 标 出 ; 可 以 通 过 输 入 这 个 字 母 来 选 定 条 目 。 命 令 O 会 列 出 你 可 能 使 用 的 其 它 Pine 命令 。

要 想 送 出 消 息 , 选 择 Compose Message 条 目 。 这 会 激 活 一 个 屏 幕 , 你 可以 输 入 你 的 消 息 。 首 先 , 提 示 你 填 入 消 息 头 的 各 个 条 目 , 包 括 email 地 址 和 标题 。 你 还 可 以 附 上 文 件 一 起 传 送 。

接 着 你 输 入 消 息 的 正 文 。 列 在 屏 幕 底 部 的 一 系 列 命 令 可 以 完 成 不 同 的 任 务 。你 可 以 用 CTRL-R 浏 览 文 件 , 用 CTRL-C 退 出 。 使 用 CTRL-X 来 发 出 消 息 , 如图 18-4 所 示 。

第 8 章 电 子 邮 件 - 图1

图 8-3Pine 主 菜 单

第 8 章 电 子 邮 件 - 图2

图 8-4 用 P ine 发 出 一 个 消 息

P ine 将 发 出 和 接 受 到 的 信 息 整 理 到 指 定 文 件 夹 里 去 , 你 可 以 在 主 菜 单 的Folder List 条 目 中 指 定 这 些 文 件 夹 。 可 以 使 用 的 的 文 件 夹 从 左 到 右 被 列 出 来 。三 个 文 件 夹 会 自 动 为 你 建 立 起 来 ; INBOX , sent-mail , 和 saved-messages 。INBOX 文 件 夹 乘 放 你 已 接 到 但 尚 未 阅 读 的 邮 件 。 Sent-mail 文 件 夹 为 了 你 发 给他 人 的 消 息 , saved-message 文 件 夹 里 有 你 已 经 读 过 希 望 保 存 的 消 息 。 使 用 左右 方 向 键 选 择 一 个 文 件 夹 , 回 车 。 选 择 了 INBOX 文 件 夹 会 列 出 你 已 经 接 收 到 的

消 息 。 这 些 消 息 的 头 部 会 显 示 出 来 , 可 以 选 择 任 一 头 部 来 察 看 这 条 消 息 。 你 所选 择 的 文 件 夹 会 成 为 缺 省 文 件 夹 。 通 过 在 主 菜 单 里 选 择 Folder Index 条 目 可 以回 到 这 个 文 件 夹 。

P ine 是 为 Internet 设 计 的 , 它 可 以 阅 读 Internet 上 的 新 闻 组 。 在 Setup 画面 中 的 Config 条 目 能 够 打 开 一 个 选 项 列 表 , 你 可 以 在 其 中 填 入 你 的 Internet Email 服 务 器 或 者 新 闻 服 务 器 。 你 的 邮 件 可 以 通 过 Internet 发 送 出 去 。

P ine 将 新 闻 组 看 成 一 个 邮 件 文 件 夹 。 选 择 Folder Lis t, 使 用 A 命 令 加 入 新闻 组 的 名 字 , 可 以 列 出 这 个 新 闻 组 。 它 会 被 当 作 另 一 个 文 件 夹 列 出 。 当 你 选 择了 它 , 新 闻 组 头 部 取 代 了 邮 件 头 而 被 列 出 。 你 也 可 以 使 用 Pine 寄 出 新 闻 , 就 像送 出 一 个 消 息 一 样 。

P ine 拥 有 大 量 的 选 项 , 通 过 它 们 你 可 以 定 制 Pine 的 操 作 。 通 过 选 择 主 菜 单里 的 Setup , 再 选 择 Config , 可 以 进 入 这 些 选 项 。 你 所 修 改 的 选 项 被 存 在 根 目录 下 的 .pinrc 文 件 中 。

Mailing Binaries and Archives

Internet 邮 件 操 作 是 针 对 文 本 而 建 立 的 , 所 谓 文 本 即 字 符 串 的 集 合 。 二 进 制文 件 , 例 如 编 译 过 的 程 序 , 不 能 被 邮 寄 出 去 — — 如 果 邮 寄 , 文 件 会 被 破 坏 使 得不 能 使 用 。 对 于 归 档 和 压 缩 文 件 也 是 如 此 。 你 用 tar 软 件 归 档 为 一 个 文 件 的 一系 列 文 件 在 通 过 邮 寄 后 都 将 不 可 使 用 。 同 样 , 用 gzip 这 样 的 压 缩 工 具 进 行 压 缩的 文 件 也 不 能 邮 寄 。 但 是 , 可 以 将 二 进 制 文 件 和 压 缩 文 件 转 化 成 字 符 文 件 , 以

进 行 邮 寄 。 uuencode 软 件 可 将 一 个 二 进 制 文 件 同 等 地 转 化 为 字 符 文 件 , 后 者可 以 通 过 象 mail 或 者 elm 这 样 的 邮 件 系 统 邮 寄 出 去 。 接 到 序 号 后 的 文 件 的 人 可以 再 通 过 uudecode 软 件 将 它 再 解 码 复 原 为 一 个 二 进 制 文 件 。

uuencode 软 件 既 可 以 用 标 准 输 入 , 也 可 以 指 定 文 件 输 入 。 无 论 哪 种 情 况 , 你 都 必 须 为 解 码 后 的 所 创 建 的 二 进 制 文 件 提 供 一 个 文 件 名 。 uuencode 将 序 号后 的 数 据 输 出 至 标 准 输 出 。 uuencode 使 用 方 法 如 下 :

uuencode file name

name 是 序 号 后 的 文 件 名 , file 是 被 序 号 的 二 进 制 文 件 的 名 字 。 记 住 , 因 为uuencode 将 序 号 后 的 数 据 送 往 标 准 输 出 , 你 应 当 令 这 个 输 出 指 向 一 个 文 件 ; 接 下 来 你 就 可 以 它 邮 寄 出 去 了 。 uudecode 软件 takes as its argument the file that holds the encoded data. 它 会 使 用 你 在 uuencode 命 令 中 所 提 供 的 文 件 名 生成 一 个 二 进 制 文 件 。 基 本 步 骤 如 下 :

uuencode file name > datafile mail adress < datafile

& s msg-num datafile uudecode datafile

文 件 被 序 号 然 后 象 一 个 消 息 一 样 被 寄 出 。 当 这 条 消 息 被 接 到 后 , 它 被 存 为一 个 文 件 , 随 后 被 解 码 , 生 成 的 文 件 被 称 作 nam e。

在 下 一 个 例 子 中 , 用 户 将 一 个 名 为 dylan.gif 的 图 像 文 件 进 行 序 号 。 象 gif 和jpeg 这 样 的 图 像 文 件 是 二 进 制 文 件 , 在 它 们 被 邮 寄 之 前 必 须 先 要 转 化 成 字 符 格式 。 在 此 例 中 , 二 进 制 文 件 的 名 字 和 将 它 序 号 后 的 文 件 名 相 同 。 序 号 输 出 被 重置 , 指 向 了 一 个 名 为 dylanpic 的 文 件 。

$ uuencode dylan.gif dylan.gif > dylanpic

dylanpic 文 件 中 只 载 有 字 符 型 数 据 , 但 是 这 些 字 符 型 数 据 是 被 序 号 了 的 二进 制 数 据 。 用 户 接 下 来 将 dylanpic 邮 寄 出 去 。

$ mail larisa@ix.com < dylanpic

接 到 邮 件 后 , 你 只 需 很 简 单 地 使 用 uudecode 软 件 来 将 序 号 数 据 转 化 为 它原 来 的 二 进 制 格 式 。 uudecode 将 生 成 一 个 二 进 制 文 件 , 这 个 文 件 使 用 在uuencode 中 给 出 的 名 字 。 在 下 面 的 例 子 中 , dylanpic 文 件 中 的 数 据 被 作 为 一 个消 息 接 收 下 来 。 接 信 人 将 这 个 消 息 存 为 dylanpic 。 随 后 uudecode 将 这 个 消 息转 化 成 原 来 的 二 进 制 形 式 , 存 成 文 件 dylan.gif 。 接 信 人 存 储 消 息 所 用 的 名 字 并不 要 求 与 发 信 人 使 用 的 相 同 。 你 可 以 使 用 任 何 名 字 , 但 是 必 须 与 uudecode 使用 的 相 同 。

$ mail

Mail version 5.5-kw 5/30/95. Type ? for help. "/var/spool/mail/chris":1 message 1 unread

>U 1 robertMon Apr 8 00:06 236/14104 & s 1 dylanpic

"dylanpic" [ New file ]

& q

$ uudecode dylanpic

$ ls dylan.gif

对 于 归 档 和 压 缩 文 件 你 可 以 如 法 炮 制 。 例 如 , 为 了 利 用 一 个 消 息 将 数 个 gif

图 像 文 件 邮 寄 出 去 , 首 先 , 你 可 以 将 它 们 合 并 到 一 个 文 件 中 , 压 缩 它 。 然 后 使

用 uuencode 将 该 文 件 序 号 , 作 为 消 息 邮 寄 出 去 。 收 到 消 息 的 人 做 相 反 的 事 情 : 解 码 , 解 压 缩 , 得 到 gif 图 像 。 你 同 样 可 以 对 全 体 目 录 和 它 们 的 子 目 录 做 相 同 的事 情 。 在 接 下 来 的 两 个 例 子 里 , birthday 目 录 全 体 被 tar 归档 , 被 gzip 压 缩 。压 缩 文 件 被 序 号 为 字 符 型 数 据 存 在 名 为 birthday 的 文 件 中 。 二 进 制 数 据 的 名 字是 birthday.tar.gz。文 件 通 过 mail 作 为 消 息 邮 寄 。接 信 人 将 消 息 存 为 文 件 birthd , 用 uudecode 将 birthd 解 码 , 生 成 birthday.tar.gz 文 件 , 再 经 解 压 缩 就 可 以 重新 生 成 全 部 birthday 目 录 。

$ tar cvf birthday.tar birthday

$ gzip birthday.tar

$ uuencode birthday.tar.gz birthday.tar.gz > birthdaydir

$ mail aleina@pango1.com < birthdaydir

$ mail

Mail version 5.5-kw 5/30/95. Type ? for help "/var/spool/mail/chris":1 message 1 new

>N 1 robert Mon Apr 8 00:12 236/14162 & s 1 birthd

"birthd" [ New file ] & q

$ uudecode birthd

因 为 uuencode 可 以 从 标 准 输 入 接 收 二 进 制 数 据 , 你 可 以 将 ARCHIVE 、 压缩 、 序 号 、 和 邮 寄 操 作 合 并 为 一 个 管 道 操 作 , 如 下 所 示 :

$ tar cf - birthday | gzip | uuencode birthday.tar.gz | mail aleina@pango1.com

tar 操 作 里 的 - 指 定 了 标 准 输 出 并 通 知 tar 将 它 的 输 出 从 文 件 输 出 转 向 标 准输 出 。 注 意 到 了 在 uuencode 的 参 数 里 含 有 解 码 二 进 制 文 件 名 , 可 以 知 道 uudecode 在 对 消 息 进 行 处 理 时 会 生 成 一 个 名 为 birthday.tar.gz 的 二 进 制 文 件 。 uudecode 和 uuencode 程 序 在 你 的 Caldera 光 盘 里 的 sharutils.4.1-2 软 件

包 里 。 如 果 你 的 Linux 系 统 是 最 小 安 装 , 里 面 不 会 有 这 两 个 程 序 。 你 需 要 使 用

glint 或 者 rpi -i 来 安 装 软 件 包 。 表 格 8-6 展 示 了 一 些 邮 寄 和 通 讯 工 具 。

收 到 信 件 的 通 知 : from and biff

当 你 接 到 消 息 时 , 它 们 被 自 动 放 置 在 你 的 邮 箱 文 件 中 , 但 并 不 会 自 动 通 知你 接 到 了 消 息 。 为 了 能 了 解 是 否 有 消 息 还 未 读 , 你 可 以 使 用 Mail 工 具 来 察 看 消息 , 或 者 使 用 From and biff 工 具 来 告 诉 你 是 否 有 未 读 的 消 息 。

From 工 具 告 诉 你 已 经 接 到 了 的 消 息 和 等 待 被 阅 读 的 消 息 。 对 于 每 一 个 等 待的 消 息 , 它 都 会 列 出 发 送 者 的 地 址 和 接 收 到 的 时 间 。 启 动 From , 只 需 键 入 from 并 回 车 。

$from

  1. From valerie Sun Feb 11 10:14:32 1996 Subject: Budget

  2. From aleina Mon Feb 12 12:30:17 1996 Subject: Birthday

  3. From robert W ed Feb 14 8:15:24 1996

Subject: Homework

$

当 你 接 受 到 一 条 消 息 时 , biff 工 具 会 及 时 通 知 你 。 当 你 正 在 盼 望 一 条 消 息 、希 望 它 一 到 达 就 能 知 道 的 时 候 , 它 是 很 有 用 的 。 biff 会 自 动 显 示 一 条 刚 接 到 的 消息 的 头 部 及 其 前 几 行 。 在 命 令 行 键 入 biff y 可 以 打 开 biff。 键 入 biff n 来 关 掉 它 。键 入 biff 可 以 查 询 biff 当 前 是 开 还 是 关 。 biff 一 接 到 一 条 消 息 就 会 显 示 一 个 通 知 , 不 管 当 时 你 在 干 什 么 。 你 可 能 正 在 编 辑 一 个 文 本 , biff 就 会 跳 出 来 在 屏 幕 上 显 示一 条 通 知 。 你 可 以 接 下 来 继 续 你 的 编 辑 。 在 下 例 中 , 用 户 首 先 打 开 了 biff 。 biff 随 后 通 知 用 户 接 到 了 一 条 消 息 。 用 户 接 着 检 查 了 一 下 biff 是 否 仍 然 打 开 。

$ biff y

$

New mail for chris has arrived:

--Data: Sun Feb 11 12:30:21 From: dylan

To: chris Subject: Food Chris ,

Have you tried the chocolate

...more...

$

$ biff is y

$

使 用 mesg n 命 令 可 以 暂 时 将 biff 屏 蔽 掉 , 阻 止 消 息 在 屏 幕 上 出 现 。 mesg n

不 只 屏 蔽 所 有 W rite 和 Talk 消 息 , 它 也 屏 蔽 biff 和 Notify 消 息 。 使 用 mesg y

命 令 可 以 撤 销 屏 蔽 。 当 你 在 做 不 想 被 打 扰 的 工 作 时 , mesg n 命 令 会 很 有 用 。

与 其 它 登 录 用 户 通 讯 : W rite 和 Ta lk

有 时 , 你 可 能 想 同 你 的 Linux 系 统 上 的 其 它 用 户 进 行 即 时 通 讯 , 而 等 不 及他 们 浏 览 邮 件 。 当 你 的 Linux 系 统 有 其 它 用 户 登 录 时 , 通 过 使 用 W rite 和 Talk 工 具 你 可 以 做 到 这 点 。 W rite 工 作 起 来 就 像 是 无 线 电 通 讯 , 你 可 以 联 系 上 一 个 登录 的 人 并 在 他 的 屏 幕 上 显 示 消 息 。 Talk 工 具 工 作 起 来 象 电 话 , 你 可 以 与 另 一 位用 户 进 行 直 通 双 向 交 谈 。

直 接 连 接 : W rite 工 具

W rite 工 具 让 你 向 另 一 用 户 发 送 即 时 消 息 。 发 送 方 键 入 的 消 息 会 马 上 显 示 在接 受 方 的 屏 幕 上 。通 过 这 种 方 式 , W rite 可 以 确 保 立 即 吸 引 一 个 人 注 意 力 。但 是 , W rite 有 一 个 明 显 的 局 限 。 它 只 能 联 系 上 已 经 登 录 的 用 户 。 如 果 你 不 能 确 定 某 人是 否 已 登 录 , 可 以 使 用 who 命 令 来 察 看 。

W rite 不 像 标 准 邮 寄 操 作 。 它 不 发 送 将 放 入 邮 箱 文 件 的 消 息 ; 它 在 另 一 位 用户 的 屏 幕 上 直 接 显 示 消 息 。 当 你 键 入 W rite 命 令 、 后 面 跟 着 一 个 用 户 的 名 字 时会 建 立 一 个 连 接 。 你 下 面 可 以 输 入 文 本 , 它 将 会 在 对 方 的 屏 幕 上 显 示 出 来 。 输入 CTRL-d 可 以 中 断 连 接 。 接 受 方 会 首 先 在 他 或 她 的 屏 幕 上 得 到 一 个 通 知 , 说明 你 发 出 了 消 息 , 并 给 出 日 期 和 时 间 。 紧 跟 着 这 个 通 知 , 将 显 示 消 息 。

在 下 例 中 ,一 个 用 户 给 cecelia 写 了 条 消 息 。输 入 完 消 息 后 ,用 户 输 入 CTRL-d

切 断 了 连 接 。

$ write cecelia

How are you today?

^D

cecelia 接 到 了 消 息 头 和 消 息 本 身 。 发 送 人 输 入 的 CTRL-d 显 示 为 EOT 。Message from gabriel [ Tues July 5 10:31 ]

How are you today? EOT

你 也 可 以 用 W rite 实 现 你 和 另 一 位 用 户 间 的 双 向 交 流 。 你 在 W rite 命 令 后 附上 接 受 方 名 字 。 接 收 到 消 息 的 用 户 使 用 他 或 她 自 己 的 W rite 命 令 , 附 上 发 送 方的 名 字 。 你 和 另 一 用 户 相 互 发 出 的 消 息 会 在 彼 此 的 屏 幕 上 出 现 。

交 互 式 的 W rite 通 讯 就 好 像 你 们 在 通 过 电 台 交 谈 。 第 一 个 用 户 发 送 一 段 消息 , 随 后 说 明 消 息 结 束 , 接 下 来 另 一 位 用 户 进 行 响 应 。 在 许 多 Linux 和 Unix 用户 都 接 受 的 交 谈 中 , 一 段 消 息 的 结 束“ ove r” 通 常 用 o 表 示 , 结 束 和 发 送“ over and ou t” 用 oo 表 示 , 它 表 明 你 将 结 束 通 讯 。 你 需 要 使 用 CTRL-d 来 从 根 本 上切 断 与 他 人 的 连 接 。 但 是 , 对 话 双 方 都 需 要 输 入 CTRL-d 。 你 的 CTRL-d 切 断你 与 他 人 的 连 接 , 他 人 的 CTRL-d 切 断 他 ( 她 ) 与 你 的 连 接 。

W rite 通 信 将 显 示 在 你 的 屏 幕 上 , 无 论 你 当 前 的 工 作 是 什 么 。 如 果 你 不 想 被

W rite 的 消 息 所 打 扰 , 可 以 使 用 mesg 命 令 来 屏 蔽 掉 它 。 mesg 命 令 有 两 个 选 项 ,

y 或 n 。 mesg -n 屏 蔽 W rite 信 息 ; mesg -y 允 许 接 收 W rite 信 息 。

交 互 式 通 讯 : Talk 工 具

你 可 以 通 过 Talk 工 具 来 实 现 你 与 其 它 用 户 间 的 双 向 交 互 式 通 讯 。 与 W rite 不 同 , Talk 工 作 起 来 更 像 一 个 电 话 — — 你 和 其 它 用 户 可 以 同 时 输 入 消 息 。 电 话中 两 个 人 频 繁 地 彼 此 交 谈 , Talk 的 工 作 和 它 很 相 似 。

输 入 Talk , 后 跟 另 一 个 用 户 的 称 呼 ( 通 常 是 登 录 名 ) , 就 可 以 启 动 一 个 通讯 过 程 。 这 会 在 另 一 用 户 的 屏 幕 上 显 示 一 条 消 息 , 给 出 你 的 称 呼 的 同 时 询 问 他或 她 是 否 愿 意 交 谈 。 他 或 她 会 使 用 自 己 的 Talk 命 令 做 出 回 答 。 于 是 你 和 对 方 的屏 幕 都 会 被 分 割 为 两 个 区 域 。 位 于 上 方 的 区 域 显 示 你 键 入 的 东 西 , 下 方 的 显 示对 方 键 入 的 东 西 。 任 意 方 都 可 以 通 过 CTRL-c 来 中 断 交 谈 过 程 。

总 结 : 电 子 邮 件

使 用 电 子 邮 件 工 具 , 你 能 够 在 你 的 系 统 上 向 他 人 发 送 消 息 。 一 个 用 户 的 登录 名 确 定 了 他 或 她 的 地 址 。 在 本 章 里 介 绍 了 两 种 界 面 迥 然 不 同 的 常 用 电 子 邮 件工 具 : Mail 和 E lm 。

Mail 是 一 种 在 大 多 数 Linux 和 Unix 系 统 中 常 见 的 标 准 电 子 邮 件 工 具 。 它 拥有 一 个 简 单 的 命 令 行 界 面 , 拥 有 自 己 的 在 特 定 的 Mail shell 下 操 作 的 一 整 套 命令 。可 以 认 为 Mail 中 消 息 收 发 的 命 令 与 所 有 电 子 邮 件 工 具 中 所 定 义 的 命 令 相 同 。当 使 用 Ma il 发 送 一 条 消 息 时 , 你 可 以 进 行 像 重 新 显 示 消 息 、 将 消 息 存 为 文 件 、或 激 活 Vi 编 辑 器 来 编 辑 消 息 等 等 操 作 。 你 也 可 以 在 编 辑 器 中 创 建 消 息 , 存 为 文件 , 然 后 将 之 发 送 出 去 。 对 于 Mail , 这 牵 涉 到 用 重 定 向 把 文 件 的 内 容 作 为 邮 件

命 令 的 输 入 。 当 接 收 消 息 时 , 通 过 命 令 mail 来 激 活 Mail 工 具 。 你 可 以 看 到 一个 消 息 头 的 列 表 。 每 个 消 息 头 提 供 了 对 应 消 息 的 信 息 , 包 括 发 送 人 和 消 息 的 标题 。 各 种 Ma il 使 得 你 能 够 浏 览 、 打 印 、 存 储 、 或 删 除 一 条 消 息 。 你 甚 至 能 使 用消 息 来 即 时 回 复 他 人 。

在 命 令 行 的 mail 命 令 后 列 出 用 户 们 的 称 呼 , 可 以 向 不 止 一 个 用 户 发 送 消 息 。或 者 , 不 用 每 次 列 出 所 有 的 用 户 称 呼 , 取 而 代 之 , 可 以 在 .mailrc 文 件 中 创 建 一个 别 名 。 .mailrc 文 件 中 的 命 令 在 每 次 执 行 mail 命 令 时 都 会 执 行 一 遍 。 当 你 向 那些 用 户 发 送 消 息 时 , 你 可 以 使 用 别 名 来 代 替 一 大 堆 称 呼 。

E lm 工 具 使 用 一 个 全 屏 幕 界 面 和 单 键 命 令 来 完 成 诸 如 发 送 、 接 收 、 存 储 消息 、 为 多 个 称 呼 创 建 别 名 等 操 作 。 全 屏 幕 界 面 常 常 使 得 Elm 比 Mail 易 于 使 用 。 W rite 和 talk 命 令 使 人 可 以 与 其 他 的 登 录 用 户 进 行 直 接 通 讯 。 通 讯 中 不 使 用

消 息 。 取 而 代 之 的 是 你 所 输 入 的 东 西 被 即 时 显 示 在 给 其 他 用 户 的 终 端 上 。 W rite 命 令 象 无 线 电 通 讯 , 一 个 人 先 说 , 然 后 等 待 他 人 的 回 答 。 Talk 命 令 象 电 话 通 讯 , 两 个 用 户 可 以 同 时 说 话 。

表 8-1Internet 域

Internet 地 址 说 明

login-name@system.domain Internet 邮 件 地 址

chris @ garnet.rose.edu

标 准 域

com 商 业 组 织

edu 教 育 院 所

gov 政 府 机 构

int 国 际 组 织

m il 军 队

net 网 络 组 织

org 非 盈 利 组 织

国 际 域

at 奥 地 利

au 澳 大 利 亚

ca 加 拿 大

ch 瑞 士

de 德 国

dk 丹 麦

es 西 班 牙

fr 法 国

gr 希 腊

ie 爱 尔 兰

jp 日 本

nz 新 西 兰

uk 联 合 王 国 ( 英 国 )

us 美 国

8-2

用 于 发 送 消 息 的 Mail 命 令

Mail 命 令 行 参 数

说 明

-f 信 箱 - 文 件 名

激 活 Mail 工 具 , 浏 览 你 的 目 录 下 信

-H

箱 文 件 中 的 消 息

只 显 示 消 息 头

-s 标 题

-v

发 送 消 息 时 , 指 定 消 息 标 题

显 示 用 于 发 送 消 息 的 命 令 的 执 行 结 果

消 息 头 上 的 ~ 命 令

~h

提 示 用 户 输 入 地 址 、 标 题 、 和 副 本 列

~s 标题

输 入 新 标 题

~t 地址

向 地 址 列 表 中 添 加 地 址

~c 地址

向 副 本 列 表 中 添 加 地 址

~b 地 址

向 盲 副 本 列 表 中 添 加 地 址

消 息 正 文 中 的 ~ 命令

~v

激 活 Vi 编 辑 器 ; 保 存 消 息 文 本 中 的

~p

变 化

重 新 显 示 消 息 正 文

~q

结 束 消 息 并 退 出 Ma il 工具

~w 文 件 名

将 消 息 储 存 为 文 件

~r 文 件 名

~e

将 一 个 文 件 的 内 容 读 入 消 息 正 文

激 活 缺 省 文 本 编 辑 器

~|filter 将 消 息 内 容 通 过 管 道 送 入 过 滤 器 , 并使 用 过 滤 器 的 输 出 代 替 消 息

~m 消 息 - 列 表 当 发 送 消 息 或 者 回 复 接 到的 消 息 时 , 插 入 收 到 消 息 的 内 容 ; 内容 是 intended ; 接 到 消 息 的 时 候 使 用

~f 消 息 - 列 表 当 发 送 消 息 或 者 回 复 接 到

的 消 息 时 , 插 入 收 到 消 息 的 内 容 ; 与

~m 的 差 别 是 , 内 容 不 是 intended ; 接 到 消 息 的 时 候

使 用 常 用 ~ 命 令

~? 显 示 所 有 命 令 列 表

~~ 向 文 本 中 输 入 一 个 ~ 符 号

~! Command 当 输 入 一 个 消 息 时 执 行 一 个 shell 命令

8-3

用 于 接 收 消 息 的 Mail 命 令

状 态 码

说 明

N

新 到 消 息

U

先 前 未 阅 览 的 消 息

R

在 当 前 过 程 中 阅 读 消 息

P

保 存 消 息 , 浏 览 并 存 于 接 收 邮 箱

D

删 除 消 息 ; 消 息 标 为 删 除

O 旧 消 息

* 已 存 往 别 的 邮 箱 文 件 的 消 息

h 重 新 显 示 消 息 头

z+ z- 如 果 消 息 头 列 表 多 于 一 屏 , 将 之 上 下 滚 动

t 消 息 - 列 表 显 示 被 消 息 - 列 表 所 指 定 的 一 条 消 息 ; 如 果没 有 任 消 息 列 表 在 使 用 , 则 显 示 当 前 消 息

p 消 息 -列 表 显 示 被 消 息 - 列 表 所 指 定 的 一 条 消 息 ; 如 果没 有 任 消 息 列 表 在 使 用 , 则 显 示 当 前 消 息

n 或 + 显 示 下 一 个 消 息

- 显 示 前 一 个 消 息

top 消 息 - 列 表 显 示 被 消 息 - 列 表 所 指 定 的 一 条消 息 的 头 几 行 ; 如 果 没 有 任 何 消 息 列 表 在使 用 , 则 显 示 当 前 消 息

消 息 列 表

message-number 用 消 息 序 号 进 行 查 询

num1-num2 查 询 序 号 始 于 num1 终 于 num2 的 消 息 .

当 前 消 息

^ 第 一 篇 消 息

$ 最 后 一 篇 消 息

* 所 有 等 待 在 邮 箱 里 的 消 息

/pattern 所 有 在 主 题 区 域 带 有 该 模 式 的 消 息

address 所 有 从 address 发 来 的 消 息

:c n 新 收 消 息

o 老 消 息

r 已 读 消 息u 未 读 消 息d 删 除 消 息

删 除 和 恢 复 消 息

d message-list 使 用 message-list 检 索 , 从 邮 箱 中 删 除 一条 消 息

u message-list 使 用 message-list 检 索 , 恢 复 先 前 曾 被 删除 的 一 条 消 息

  1. 退 出 Ma il 工 具 ,将 所 有 已 读 消 息 存 于 mbox

文 件

x 退 出 Ma il 工 具 , 不 删 除 任 何 已 标 为 删 除 的消 息 ; 等 效 于 在 退 出 前 对 所 有 删 除 消 息 执行 u 命令

pre message-list 将 消 息 保 存 于 待 读 邮 箱 , 无 论 它 是 否 读 过发 送 和 编 辑 消 息

  1. 所 有 接 到 消 息 的 人 发 送 回 复
  1. 向 发 消 息 给 你 的 人 发 送 回 复

m address 向 一 个 使 用 Mail 工 具 的 人 发 送 消 息

v message-list 使 用 Vi 编 辑 消 息

保 存 消 息

s message-list filename 将 使 用 message-list 检 索 得 到 的 消 息 存 为

文 件 , 包 括 消 息 头

  1. message-list 将 使 用 message-list 检 索 得 到 的 消 息 存 为文 件 , 以 发 送 人 的 名 字 命 名

保 存 消 息

w message-list filename 将 使 用 message-list 检 索 得 到 的 消 息 存 为

文 件 , 不 包 括 消 息 头 ; 只 存 储 正 文 部 分

folder mailbox-filename 切 换 到 另 一 个 邮 箱 文 件

% 指 定 接 收 邮 箱 文 件 的 文 件 名 folder % 切 换到 接 收 邮 箱 文 件

# 指 定 name of previously acessed mailbox file % 将 切 换 到 先 前 的 邮 箱 文 件

& 指 定 自 动 存 放 已 读 文 件 的 邮 箱 文 件 名 ; 常称 为 mboxfolder % 切 换 到 mbox 文 件

常 用 命 令

? 显 示 所 有 Mail 命 令

! command 在 Mailshell 内 执 行 用 户 的 shell 命 令

表 8-4Mail 选项

选 项 说明

alias name address-list 为 一 个 地 址 列 表 创 建 一 个 别 名 alias

myclass chris aleina larisa$ mail m yclass

asksub 输 入 题 目 set asksub

askcc 输 入 副 本 地 址 set askcc prompt=string 重 定 义 Mail 提 示 符 set prompt="&"

sign=string 定 义 字 符 串 , 以 便 随 后 使 用 ~a 命 令 将 之 插 入 到 你 正 入 的消 息 中 去 set sign="Robert and Valerie"

folder=directory 将 所 有 由 命 令 s 或 S 产 生 的 邮 箱 文 件 存 于 指 定 目 录 set folder=$HOME/mail

record=filename 自 动 为 你 所 创 建 和 发 送 的 消 息 保 存 一 个 副 本 ; 消 息 存 于在 record 选 项 中 所 设 定 的 文 件 中 set record=$HOME/outbox

outfolder 将 record 文 件 放 于 文 件 夹 目 录 中 ; 如 下 例 , outbox 是 一个 folder 指 定 目 录 中 的 文 件 set record=outboxset outfolder

MBOX=filename 放有 mbox 文 件 的 名 字 , 已 读 消 息 将 自 动 存 入 该 文 件 中 ;

在 缺 省 的 情 况 下 , mbox 放 在 你 的 根 目 录 下 ; 将 + 放 置 在

mbox 之 前 可 以 将 文 件 放 到 folder 目 录 中 set

MBOX=+mbo x

表 8-5Elm 命 令

选 项 说 明 发 送 消 息

elm address 使 用 Elm 发 送 消 息

s

发 送 消 息

e

编 辑 消 息

f

退 出 , 不 发 送 消 息

h

编 辑 消 息 头

elm

?

激 活 Elm 工 具

激 活 帮 助 ; 键 入 命 令 , 察 看 该 命 令 的 信 息

?

全 部 命 令 列 表 . 返 回 E lm

q

退 出 E lm 工 具 , 提 示 已 读 和 未 读 消 息 , 删 除 标 为 删

Q

退 出 Elm 工 具 , 无 提 示

x 和

CTRL – q

退 出 E lm 工 具 , 不 做 删 除 和 消 息 存 储 , 所 有 消 息 保

原 样

+ 显 示 下 一 屏 消 息 头

- 显 示 上 一 屏 消 息 头

选 择 消 息

  1. 移 动 到 下 一 个 消 息 头 , 设 它 为 当 前 消 息

  2. 移 动 到 上 一 个 消 息 头 , 设 它 为 当 前 消 息

message-number 将 指 定 消 息 序 号 号 的 消 息 设 为 当 前 消 息

/pattern 在 主 题 或 地 址 头 中 检 索 该 模 式 , 设 第 一 个 搜 寻 到 为 当前 消 息

//pattern 在 消 息 正 文 中 检 索 该 模 式 , 设 第 一 个 搜 寻 到 的 消 为 当

前 消 息

t 给 当 前 消 息 设 标 志 ; + 会 出 现 在 消 息 之 前 ; 你 可 以 消息 设 标 志 , 然 后 对 它 们 统 一 进 行 某 种 操 作

CTRL-t 在 主 体 和 地 址 头 中 检 索 模 式 , 将 所 有 匹 配 消 息 标 记对 消 息 的 操 作

回 车 显 示 当 前 消 息

i 回 到 头 部 ( 索 引 )

p 打 印 当 前 消 息

d 删 除 当 前 消 息 ; 消 息 头 被 标 为 D , 并 在 退 出 Elm 时删

CTRL-d 在 主 体 和 地 址 头 中 检 索 模 式 , 将 所 有 匹 配 消 息 除

U 恢 复 当 前 消 息

CTRL-u 在 主 体 和 地 址 头 中 检 索 模 式 , 将 所 有 匹 配 消 息 复

  1. 回 复 当 前 消 息 ; 地 址 和 主 题 取 自 当 前 信 息 头 ; 你 下 面可 以 象 处 理 任 何 其 他 消 息 一 样 对 回 复 进 行 编 辑 和 发 送

  2. 存 储 当 前 消 息 , 或 在 邮 箱 文 件 中 所 有 被 标 志 的 消 息 ; 缺 省 时 , 被 存 储 的 消 息 的 地 址 就 是 发 送 方 的 地 址 ; 你可 以 预 先 使 用 = 来 指 定 你 自 己 的 邮 箱 文 件 =mailbox- filename 你 也 可 以 使 用 如 下 命 令 将 消 息 存 入 接 收 或 发送 邮 箱 文 件 > 将 消 息 存 入 接 收 邮 箱 文 件 < 将 消 息 存入 发 送 邮 箱 文 件

操 作

m 将 消 息 从 Elm 工 具 中 发 送 出 去 ; 你 编 辑 和 发 送 一 条

消 息

c 使 用 E lm 对 一 个 指 定 的 邮 箱 文 件 进 行 操 作 ; 命 令 将操 作 对 象 从 接 收 邮 件 文 件 切 换 到 任 意 别 的 邮 箱 文 件

a 管 理 Elm 别 名 ; 键 入 a 命 令 , 别 名 菜 单 会 弹 出 , 有如 下 选 项 : a 使 用 当 前 消 息 的 名 字 和 地 址 创 建 一 个别 名

M 使 用 你 输 入 的 名 字 和 地 址 创 建 一 个 别 名

d 删 除 一 个 别 名

l 列 出 所 有 别 名

p 列 出 特 定 别 名 的 名 字 和 地 址

s 显 示 所 有 系 统 别 名

r 返 回 Elm 主 菜 单

表 8-6 电 子 邮 件 和 通 讯 工 具

工 具 说 明

mail 电 子 邮 件 工 具 , 用 于 收 发 邮 件

elm 电 子 邮 件 工 具 , 用 于 收 发 邮 件

uuencode filename 将 二 进 制 文 件 序 号 为 字 符 文 件 , 使 其 可 以 通 过 电 子 邮

件 系 统 发 送 出 去 ; 重 指 向 一 个 文 件 并 发 送 该 文 件

uuencode filename > datafile

uudecode file 将 序 号 文 件 解 码 , 生 成 一 个 二 进 制 文 件 , 名 字 取 自

uuencode

from 告 诉 你 已 接 受 到 哪 些 消 息

biff 通 知 你 消 息 的 到 来

write address 在 已 登 录 用 户 的 终 端 上 显 示 消 息

talk address 与 已 登 录 用 户 进 行 双 向 通 讯