打印文件
在 Unix 系统上打印文件之前,您可能需要重新格式化它以调整边距、突出显示某些单词等。大多数文件也可以在不重新格式化的情况下打印,但原始打印输出可能不那么吸引人。
许多版本的 Unix 包括两个强大的文本格式化程序, nroff 和 troff.
pr 命令
这 pr命令在终端屏幕或打印机上对文件进行轻微格式化。例如,如果文件中有很长的名称列表,您可以在屏幕上将其格式化为两列或更多列。
以下是语法 pr 命令 -
这 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。
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 命令告诉您从打印机队列中删除的实际文件名。