在Linux系統中打印文件可以使用pr命令,pr就是print的簡寫了。不過在打印之前最好用命令對文件進行一些處理,本文就來介紹一下Linux系統使用命令打印文件的方法。
如果你希望打印文本文件,最好預先處理一下,包括調整邊距、設置行高、設置標題等,這樣打印出來的文件更加美觀,易於閱讀。當然,不處理也可以打印,但是可能會比較丑陋。
大部分的Linux自帶了 nroff 和 troff 兩個強大的文本格式化工具,不過比較老舊,使用的人很少,有興趣的讀者可以可以自行學習,本教程不再進行深入講解。
一、pr命令
pr 命令用來將文本文件轉換成適合打印的格式,它可以把較大的文件分割成多個頁面進行打印,並為每個頁面添加標題。
pr 命令的語法如下:
pr option(s) filename(s)
pr 命令僅僅改變文件在屏幕上的顯示樣式和打印輸出樣式,並不會更改文件本身。下表是 pr 命令的幾個選項:
選項 說明
-k 分成幾列打印,默認為1。
-d 兩倍行距(並不是所有版本的 pr 都有效)。
-h “header” 設置每個頁面的標題。
-t 不打印標題和上下邊距。
-l PAGE_LENGTH 每頁顯示多少行。默認是每個頁面一共66行,文本占56行。
-o MARGIN 每行縮進的空格數。
-w PAGE_WIDTH 多列輸出時,設置頁面寬度,默認是72個字符。
例如,food 文件包含了很多食品的名字,使用 pr 命令分成兩列打印,並設置每頁的標題為“Restaurants”。
首先查看文件內容:
$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
........
$ 上一頁123下一頁共3頁
二、lp和lpr命令
lp 和 lpr 命令將文件傳送到打印機進行打印。使用 pr 命令將文件格式化後就可以使用這兩個命令來打印。
打印機一般由系統管理員來設置,下面的例子使用默認的打印機打印food文件:
$lp food
request id is laserp-525 (1 file)
$
命令成功執行會返回一個表示打印任務的ID,通過這個ID可以取消打印或者查看打印狀態。
如果你希望打印多份文件,可以使用 lp 的 -nNum 選項,或者 lpr 命令的 -Num 選項。Num 是一個數字,可以隨意設置。
如果系統連接了多台打印機,可以使用 lp 命令的 -dprinter 選項,或者 lpr 命令的 -Pprinter 選項來選擇打印機。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
$
lpstat -o 命令按照打印順序輸出隊列中的文件。
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
$
第一行為打印機的狀態。如果打印機無法使用或者紙被用完,將會輸出其他信息。 上一頁12 3下一頁共3頁
四、cancel 和 lprm 命令
cancel 和 lprm 分別用來終止 lp 和 lpr 的打印請求。使用這兩個命令,需要指定ID(由 lp 或 lpq 返回)或打印機名稱。
例如,通過ID取消打印請求:
$cancel laserp-575
request “laserp-575” cancelled
$
如果希望取消正在打印的文件,那麼可以不指定ID,僅僅指定打印機名稱即可:
$cancel laserp
request “laserp-573” cancelled
$
lprm 命令用來取消當前用戶的正在等待打印的文件,使用任務號作為參數可以取消指定文件,使用橫線(-)作為參數可以取消所有文件。
例如,取消575號打印任務:
$lprm 575
dfA575diamond dequeued
cfA575diamond dequeued
$
lprm 會返回被取消的文件名。
以上就是Linux使用命令打印文件的方法了,pr命令再配合其他命令就可以打印文件,並且精確地控制打印的過程了。
上一頁123 下一頁共3頁