- Unix / Linux 初学者
- Unix / Linux - 主页
- Unix / Linux - 入门
- Unix / Linux - 文件管理
- Unix / Linux - 目录
- Unix / Linux - 文件权限
- Unix / Linux - 环境
- Unix / Linux - 基本实用程序
- Unix / Linux - 管道和过滤器
- Unix / Linux - 进程
- Unix / Linux - 通信
- Unix / Linux - vi 编辑器
- Unix/Linux Shell 编程
- Unix / Linux - Shell 脚本
- Unix / Linux - 什么是 Shell?
- Unix / Linux - 使用变量
- Unix / Linux - 特殊变量
- Unix / Linux - 使用数组
- Unix / Linux - 基本运算符
- Unix / Linux - 决策
- Unix / Linux - Shell 循环
- Unix / Linux - 循环控制
- Unix / Linux - Shell 替换
- Unix / Linux - 引用机制
- Unix / Linux - IO 重定向
- Unix / Linux - Shell 函数
- Unix / Linux - 联机帮助页
Unix / Linux 基本实用程序 - 打印、电子邮件
在本章中,我们将详细讨论 Unix 的基本实用程序打印和电子邮件。到目前为止,我们已经尝试了解 Unix 操作系统及其基本命令的性质。在本章中,我们将学习一些可以在日常生活中使用的重要 Unix 实用程序。
打印文件
在 Unix 系统上打印文件之前,您可能需要重新格式化它以调整页边距、突出显示某些单词等。大多数文件无需重新格式化即可打印,但原始打印输出可能没有那么吸引人。
Unix 的许多版本都包含两个强大的文本格式化程序:nroff和troff。
pr 命令
pr命令对终端屏幕上或打印机上的文件进行较小的格式化。例如,如果文件中有很长的名称列表,您可以在屏幕上将其格式化为两列或更多列。
以下是pr命令的语法-
pr option(s) filename(s)
pr仅在屏幕或打印副本上更改文件格式;它不会修改原始文件。下表列出了一些pr选项 -
先生。 | 选项和说明 |
---|---|
1 |
-k 产生k列输出 |
2 |
-d 输出双倍行距(并非在所有pr版本上) |
3 |
-h“标头” 将下一项作为报告标题 |
4 |
-t 消除页眉和上/下边距的打印 |
5 |
-l PAGE_LENGTH 将页长度设置为 PAGE_LENGTH (66) 行。默认文本行数为 56 |
6 |
-o 边距 用 MARGIN(零)空格偏移每行 |
7 |
-w 页面宽度 仅针对多文本列输出将页面宽度设置为 PAGE_WIDTH (72) 个字符 |
在使用pr之前,以下是名为 food.txt 的示例文件的内容。
$cat food Sweet Tooth Bangkok Wok Mandalay Afghani Cuisine Isle of Java Big Apple Deli Sushi and Sashimi Tio Pepe's Peppers ........ $
让我们使用pr命令制作一个标题为“餐馆”的两列报告-
$pr -2 -h "Restaurants" food Nov 7 9:58 1997 Restaurants Page 1 Sweet Tooth Isle of Java Bangkok Wok Big Apple Deli Mandalay Sushi and Sashimi Afghani Cuisine Tio Pepe's Peppers ........ $
lp 和 lpr 命令
命令lp或lpr将文件打印到纸上而不是屏幕显示。一旦准备好使用pr命令进行格式化,您就可以使用这些命令中的任何一个在连接到计算机的打印机上打印文件。
您的系统管理员可能已在您的站点设置了默认打印机。要在默认打印机上打印名为food的文件,请使用lp或lpr命令,如下例所示 -
$lp food request id is laserp-525 (1 file) $
lp命令显示一个 ID,可用于取消打印作业或检查其状态。
如果使用lp命令,则可以使用 -n Num选项来打印 Num 份数。与命令lpr一起,您可以使用 -Num来实现相同的效果。
如果有多个打印机连接到共享网络,那么您可以使用 -d打印机选项和 lp 命令来选择打印机,出于同样的目的,您可以使用 -P打印机选项和 lpr 命令。这里的打印机是打印机名称。
lpstat 和 lpq 命令
lpstat命令显示打印机队列中的内容:请求 ID、所有者、文件大小、发送作业进行打印的时间以及请求的状态。
如果您想查看除您自己的输出请求之外的所有输出请求,请使用lpstat -o 。请求按打印顺序显示 -
$lpstat -o laserp-573 john 128865 Nov 7 11:27 on laserp laserp-574 grace 82744 Nov 7 11:28 laserp-575 john 23347 Nov 7 11:35 $
lpq提供的信息与lpstat -o略有不同-
$lpq laserp is ready and printing Rank Owner Job Files Total Size active john 573 report.ps 128865 bytes 1st grace 574 ch03.ps ch04.ps 82744 bytes 2nd john 575 standard input 23347 bytes $
这里第一行显示打印机状态。如果打印机被禁用或纸张用完,您可能会在第一行看到不同的消息。
cancel 和 lprm 命令
cancel命令终止来自lp 命令的打印请求。lprm命令终止所有lpr 请求。您可以指定请求的 ID(由 lp 或 lpq 显示)或打印机的名称。
$cancel laserp-575 request "laserp-575" cancelled $
要取消当前正在打印的任何请求,无论其 ID 如何,只需输入取消和打印机名称 -
$cancel laserp request "laserp-573" cancelled $
如果活动作业属于您,则lprm命令将取消该作业。否则,您可以将职位编号作为参数,或使用破折号(-)删除所有职位 -
$lprm 575 dfA575diamond dequeued cfA575diamond dequeued $
lprm命令告诉您从打印机队列中删除的实际文件名。
发送电子邮件
您可以使用 Unix mail 命令发送和接收邮件。这是发送电子邮件的语法 -
$mail [-s subject] [-c cc-addr] [-b bcc-addr] to-addr
以下是与邮件命令相关的重要选项 -s
先生。 | 选项和说明 |
---|---|
1 |
-s 在命令行上指定主题。 |
2 |
-C 将副本发送到用户列表。列表应该是逗号分隔的名称列表。 |
3 |
-b 将密件抄送至列表。列表应该是逗号分隔的名称列表。 |
以下是向 admin@yahoo.com 发送测试消息的示例。
$mail -s "Test Message" admin@yahoo.com
然后,您需要输入消息,并在行首输入“control-D” 。要停止,只需键入点(.),如下所示 -
Hi, This is a test . Cc:
您可以使用重定向 < 运算符发送完整的文件,如下所示 -
$mail -s "Report 05/06/07" admin@yahoo.com < demo.txt
要在 Unix 系统上检查传入的电子邮件,您只需输入电子邮件,如下所示 -
$mail no email