- Unix/Linux入门
- Unix/Linux - 首页
- Unix/Linux - 什么是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 - I/O重定向
- Unix/Linux - Shell函数
- Unix/Linux - 手册页帮助
- 高级Unix/Linux
- Unix/Linux - 标准I/O流
- Unix/Linux - 文件链接
- Unix/Linux - 正则表达式
- Unix/Linux - 文件系统基础
- Unix/Linux - 用户管理
- Unix/Linux - 系统性能
- Unix/Linux - 系统日志
- 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 "header" 将下一个项目作为报表标题 |
4 |
-t 取消打印标题和顶部/底部页边距 |
5 |
-l PAGE_LENGTH 将页面长度设置为PAGE_LENGTH (66) 行。默认文本行数为56行 |
6 |
-o MARGIN 使用MARGIN (零) 个空格缩进每一行 |
7 |
-w PAGE_WIDTH 仅对多文本列输出,将页面宽度设置为PAGE_WIDTH (72) 个字符 |
在使用pr之前,这是一个名为food的样本文件的内容。
$cat food Sweet Tooth Bangkok Wok Mandalay Afghani Cuisine Isle of Java Big Apple Deli Sushi and Sashimi Tio Pepe's Peppers ........ $
让我们使用pr命令创建一个带有标题Restaurants的两列报表:
$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命令,则可以使用-nNum选项打印Num份副本。对于lpr命令,可以使用-Num实现相同的功能。
如果有多个打印机连接到共享网络,则可以使用-dprinter选项与lp命令一起选择打印机,出于相同目的,可以使用-Pprinter选项与lpr命令一起使用。此处printer是打印机名称。
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和打印机名称:
$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
以下是与mail命令相关的重要的选项-s
序号 | 选项及说明 |
---|---|
1 |
-s 在命令行中指定主题。 |
2 |
-c 将抄送发送给用户列表。列表应为用逗号分隔的名称列表。 |
3 |
-b 将密件抄送发送给列表。列表应为用逗号分隔的名称列表。 |
以下是如何向[email protected]发送测试消息的示例。
$mail -s "Test Message" [email protected]
然后,您需要键入您的消息,然后在一行的开头输入“control-D”。要停止,只需键入点(.),如下所示:
Hi, This is a test . Cc:
您可以使用重定向<运算符发送完整文件,如下所示:
$mail -s "Report 05/06/07" [email protected] < demo.txt
要在您的Unix系统上检查收到的电子邮件,只需键入email,如下所示:
$mail no email