檔案列印
如果你希望列印文本檔案,最好預先處理一下,包括調整邊距、設定行高、設定标題等,這樣列印出來的檔案更加美觀,易于閱讀。當然,不處理也可以列印,但是可能會比較醜陋。
大部分的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
........
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
第一行為列印機的狀态。如果列印機無法使用或者紙被用完,将會輸出其他資訊。
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 會傳回被取消的檔案名。
發送郵件
可以使用mail指令發送和接收郵件,文法如下:
$mail [-s subject] [-c cc-addr] [-b bcc-addr] to-addr
每個選項的含義如下:
選項 | 描述 |
---|---|
-s | 郵件标題。 |
-c | 要發送的使用者,多個使用者以逗号(,)分隔。 |
-b | 需要密件發送(密送)的使用者,多個使用者以逗号(,)分隔。 |
例如,向[email protected]發送郵件:
$mail -s "Test Message" [email protected]
Hello everyone,
this is Linux tutorial and url is http://see.xidian.edu.cn/cpp/linux/.
Cc:
第一行是輸入的指令,-s表示郵件的主題,後面的[email protected]則是郵件的接收人,輸入完這行指令後回車,會進入郵件正文的編寫,你可以 輸入任何文字,比如上面的兩行。輸入完郵件正文,需要按CTRL+D結束輸入,此時會提示你輸入Cc位址,即郵件抄送位址,沒有直接回車就完成了郵件的發 送。
也可以通過重定向操作符 < 來發送檔案:
$mail -s "Report 05/06/07" [email protected] < demo.txt
通過上面的指令,就可以把demol.txt檔案的内容作為郵件的内容發送給[email protected]了。
接收郵件不需要任何參數:
$mail
no email
版權聲明:本文為CSDN部落客「weixin_34161032」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34161032/article/details/91891896