
- Unix/Linux入門
- Unix/Linux - 首頁
- Unix/Linux - 什麼是Linux?
- Unix/Linux - 開始使用
- Unix/Linux - 檔案管理
- Unix/Linux - 目錄
- Unix/Linux - 檔案許可權
- Unix/Linux - 環境
- Unix/Linux - 基礎實用程式
- Unix/Linux - 管道與過濾器
- Unix/Linux - 程序
- Unix/Linux - 通訊
- Unix/Linux - vi編輯器
- Unix/Linux Shell程式設計
- Unix/Linux - Shell指令碼
- Unix/Linux - 什麼是Shell?
- Unix/Linux - 使用變數
- Unix/Linux - 特殊變數
- Unix/Linux - 使用陣列
- Unix/Linux - 基本運算子
- Unix/Linux - 決策
- Unix/Linux - Shell迴圈
- Unix/Linux - 迴圈控制
- Unix/Linux - Shell替換
- Unix/Linux - 引號機制
- Unix/Linux - I/O重定向
- Unix/Linux - Shell函式
- Unix/Linux - 手冊頁幫助
- 高階Unix/Linux
- Unix/Linux - 標準I/O流
- Unix/Linux - 檔案連結
- Unix/Linux - 正則表示式
- Unix/Linux - 檔案系統基礎
- Unix/Linux - 使用者管理
- Unix/Linux - 系統性能
- Unix/Linux - 系統日誌
- Unix/Linux - 訊號和陷阱
Unix/Linux基礎實用程式 - 列印和郵件
本章將詳細討論列印和郵件作為Unix的基本實用程式。到目前為止,我們已經嘗試瞭解Unix作業系統及其基本命令的性質。本章我們將學習一些在日常生活中可以使用的重要的Unix實用程式。
列印檔案
在Unix系統上列印檔案之前,您可能需要重新格式化它以調整頁邊距,突出顯示某些單詞等等。大多數檔案也可以在不重新格式化的前提下列印,但是原始列印輸出可能不太吸引人。
許多版本的Unix都包含兩個強大的文字格式化程式,nroff和troff。
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命令建立一個帶有標題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命令
lp或lpr命令將檔案列印到紙上,而不是螢幕顯示。使用pr命令完成格式化後,您可以使用這些命令中的任何一個將檔案列印到連線到計算機的印表機上。
您的系統管理員可能已在您的站點上設定了預設印表機。要在預設印表機上列印名為food的檔案,請使用lp或lpr命令,如下例所示:
$lp food request id is laserp-525 (1 file) $
lp命令顯示一個ID,您可以使用它來取消列印作業或檢查其狀態。
如果您使用的是lp命令,則可以使用-nNum選項列印Num份副本。對於lpr命令,可以使用-Num實現相同的功能。
如果有多個印表機連線到共享網路,則可以使用-dprinter選項與lp命令一起選擇印表機,出於相同目的,可以使用-Pprinter選項與lpr命令一起使用。此處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 $
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
以下是與mail命令相關的重要的選項-s
序號 | 選項及說明 |
---|---|
1 |
-s 在命令列中指定主題。 |
2 |
-c 將抄送傳送給使用者列表。列表應為用逗號分隔的名稱列表。 |
3 |
-b 將密件抄送傳送給列表。列表應為用逗號分隔的名稱列表。 |
以下是如何向admin@yahoo.com傳送測試訊息的示例。
$mail -s "Test Message" admin@yahoo.com
然後,您需要鍵入您的訊息,然後在一行的開頭輸入“control-D”。要停止,只需鍵入點(.),如下所示:
Hi, This is a test . Cc:
您可以使用重定向<運算子傳送完整檔案,如下所示:
$mail -s "Report 05/06/07" admin@yahoo.com < demo.txt
要在您的Unix系統上檢查收到的電子郵件,只需鍵入email,如下所示:
$mail no email