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

  • 简述

    本章将详细讨论打印和电子邮件作为 Unix 的基本实用程序。到目前为止,我们已经尝试了解 Unix 操作系统及其基本命令的性质。在本章中,我们将学习一些可以在我们日常生活中使用的重要 Unix 实用程序。
  • 打印文件

    在 Unix 系统上打印文件之前,您可能需要重新格式化它以调整边距、突出显示某些单词等。大多数文件也可以在不重新格式化的情况下打印,但原始打印输出可能不那么吸引人。
    许多版本的 Unix 包括两个强大的文本格式化程序, nrofftroff.

    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命令使用标题餐厅制作两列报告-
    
    $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 对于相同的。
    • 如果有多个打印机连接到共享网络,那么可以使用 -d 选择打印机printer 选项与 lp 命令一起使用,出于同样的目的,您可以使用 -Pprinter选项以及 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
    $
    
    第一行显示打印机状态。如果打印机被禁用或纸张用完,您可能会在第一行看到不同的消息。

    取消和 lprm 命令

    cancel 命令终止来自 lp command. 这lprm 命令终止所有 lpr requests. 您可以指定请求的 ID(由 lp 或 lpq 显示)或打印机的名称。
    
    $cancel laserp-575
    request "laserp-575" cancelled
    $
    
    要取消当前正在打印的任何请求,无论其 ID 如何,只需输入取消和打印机名称 -
    
    $cancel laserp
    request "laserp-573" cancelled
    $
    
    lprm如果它属于您,则命令将取消活动作业。否则,您可以将作业编号作为参数,或使用dash (-) 删除你所有的工作 -
    
    $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
    将副本发送到用户列表。List 应该是一个逗号分隔的名称列表。
    3
    -b
    发送密件副本到列表。List 应该是一个逗号分隔的名称列表。
    以下是向 admin@yahoo.com 发送测试消息的示例。
    
    $mail -s "Test Message" admin@yahoo.com 
    
    然后你需要输入你的消息,然后是 "control-D"在一行的开头。要停止,只需输入点(.) 如下 -
    
    Hi,
    This is a test
    .
    Cc: 
    
    您可以使用 redirect < operator 如下 -
    
    $mail -s "Report 05/06/07" admin@yahoo.com < demo.txt 
    
    要在您的 Unix 系统上检查收到的电子邮件,您只需按如下方式输入电子邮件 -
    
    $mail
    no email