📜  Unix / Linux基本实用程序-打印,电子邮件

📅  最后修改于: 2020-10-31 14:46:33             🧑  作者: Mango


在本章中,我们将详细讨论作为Unix的基本实用程序的Printing and Email。到目前为止,我们已经尝试了解Unix OS及其基本命令的性质。在本章中,我们将学习一些可以在日常生活中使用的重要Unix实用程序。

打印文件

在Unix系统上打印文件之前,可能需要重新格式化文件以调整页边距,突出显示一些单词,依此类推。大多数文件也可以在不重新格式化的情况下进行打印,但是原始打印输出可能不会那么吸引人。

Unix的许多版本都包含两个强大的文本格式化程序nrofftroff

pr命令

pr命令对终端屏幕或打印机上的文件进行次格式化。例如,如果文件中的名称列表很长,则可以在屏幕上将其格式化为两列或更多列。

以下是pr命令的语法-

pr option(s) filename(s)

pr仅在屏幕或打印副本上更改文件的格式;它不会修改原始文件。下表列出了一些pr选项-

Sr.No. Option & Description
1

-k

Produces k columns of output

2

-d

Double-spaces the output (not on all pr versions)

3

-h “header”

Takes the next item as a report header

4

-t

Eliminates the printing of header and the top/bottom margins

5

-l PAGE_LENGTH

Sets the page length to PAGE_LENGTH (66) lines. The default number of lines of text is 56

6

-o MARGIN

Offsets each line with MARGIN (zero) spaces

7

-w PAGE_WIDTH

Sets the page width to PAGE_WIDTH (72) characters for multiple text-column output only

使用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命令

与屏幕显示相反,命令lplpr将文件打印到纸张上。一旦准备好使用pr命令进行格式化,就可以使用这些命令中的任何一个在与计算机连接的打印机上打印文件。

您的系统管理员可能已在您的站点上设置了默认打印机。要在默认打印机上打印名为food的文件,请使用lplpr命令,如以下示例所示-

$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和打印机名称-

$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相关的重要选项

Sr.No. Option & Description
1

-s

Specifies subject on the command line.

2

-c

Sends carbon copies to the list of users. List should be a commaseparated list of names.

3

-b

Sends blind carbon copies to list. List should be a commaseparated list of names.

以下是将测试消息发送到admin@yahoo.com的示例。

$mail -s "Test Message" admin@yahoo.com 

然后,您应该键入您的消息,然后在行的开头键入“ control-D” 。要停止,只需按如下所示键入点(。)

Hi,

This is a test
.
Cc: 

您可以使用redirect <运算符发送完整的文件,如下所示-

$mail -s "Report 05/06/07" admin@yahoo.com < demo.txt 

要在Unix系统上检查传入的电子邮件,只需按如下所示键入email-

$mail
no email