UNIX 實用工具

2018-08-12 22:12 更新

實用工具

到現(xiàn)在為止你肯定對 UNIX 系統(tǒng)已經(jīng)有了一些大概的理解和一些命令的基本使用方式。本教程將介紹一些非?;镜牡匾?UNIX 實用工具。

打印文件

在 UNIX 系統(tǒng)中,您打印一個文件之前,您可能想要重新格式化它調整它的邊距,高亮顯示一些單詞等等。大多數(shù)文件也可以打印而不用重新格式化,但未經(jīng)處理的打印可能不那么好看。

UNIX 系統(tǒng)的許多版本中都包含了兩個強大的文本格式化命令,nroff 和 troff。他們不包含在本教程中,但是你可以在在網(wǎng)上查到很多關于講解這兩個命令的使用方式的資料。

pr 命令

pr 命令可以對終端顯示屏上或者打印機上顯示的文件進行小幅度的格式化。例如,如果在你的文件中有一長串名字,你可以將它格式化成兩列或者多列在屏幕上顯示。

如下是 pr 命令的語法示例:

pr option(s) filename(s)

pr 命令僅僅只是格式化顯示在屏幕上或者打印的副本文件,它不會修改源文件。如下的列表顯示一些 pr 命令中可選的參數(shù):

操作 描述
-k 產(chǎn)生 k 列的輸出
-d 將輸出用兩個空格隔開(并不是所有的 pr 版本適用)。
-h "header" 將下一個項目作為頭部信息。
-t 去掉打印中的頭部和上/下邊距。
-l PAGE_LENGTH 設置一頁存放的數(shù)據(jù)行數(shù)為 PAGE_LENGTH(66)。默認的文本行數(shù)為 56 行。
-o MARGIN 設置每行之間的間隔為 MARGIN(0) 個空格。
-w PAGE_WIDTH 設置頁一行的字符個數(shù)為 PAGE_WIDTG(72) 個字符。這個參數(shù)僅僅對多文本列輸出可用。

在使用 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 命令將輸出變成兩列,同時頭部顯示 Restaruants:

$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 命令格式化文本,您可以使用這些命令在任何與你電腦連接的打印機上打印你的文件。

您的系統(tǒng)管理員可能已經(jīng)建立了一個站點作為默認打印機。為了在默認的打印機上打印一個文件命名 food 的文件,你可以使用 lp 或 lpr 命令,如下示例:

$lp food
request id is laserp-525  (1 file)
$

lp 命令顯示了打印機的 ID,您可以使用它來取消打印作業(yè)或檢查它的狀態(tài)。

  • 如果您正在使用 lp 命令,您可以使用 -nNum 選項參數(shù)設置打印副本的份數(shù)。對于 lpr 命令,您也可以使用參數(shù) -Num 起到相同的作用。
  • 如果有多個打印機連接到共享網(wǎng)絡中,對于 lp 命令你可以使用 -dprinter 參數(shù)來選擇你想使用的打印機,對于 lpr 命令你可以使用 -Pprinter 參數(shù)達到相同的效果。這里 printer 值得是打印機的名稱。

lpstat 和 lpg 命令

lpstat 命令顯示在打印機隊列中的作業(yè):請求的 ID,所有者,文件大小,當打印任務被發(fā)送給打印機的時候,請求的狀態(tài)同樣也發(fā)送了給打印機。

如果你想看到所有輸出請求而不僅僅是你自己的,你可以使用 pstat -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
$

lpg 顯示的信息與 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
$

在第一行顯示打印機狀態(tài)。如果打印機是禁用或紙用完了,你可以在第一行看到不同的信息。

cancel 和 lprm 命令

cancel 命令終止 lp 命令發(fā)出的打印請求。lprm 命令終止 lpr 發(fā)出的打印請求。您可以指定打印機的 ID (由 lp 或 lpq 發(fā)出的請求)或名稱來終止打印任務。

$cancel laserp-575
request "laserp-575" cancelled
$

為了取消當前正在打印的任務,可以忽視它的 ID,僅僅輸入 cancel 命令和打印機的名稱即可:

$cancel laserp
request "laserp-573" cancelled
$

lprm 命令將取消活動的工作,如果它屬于你。否則,你可以使用工作的編號作為該命令的參數(shù),或者使用破折號(-)刪除你所有的工作:

$lprm 575
dfA575diamond dequeued
cfA575diamond dequeued
$

lprm 命令將會告訴你從打印機隊列中刪除的任務的文件名。

發(fā)送郵件

您可以使用 UNIX 郵件命令發(fā)送和接收郵件。如下是發(fā)送電子郵件的語法:

$mail [-s subject] [-c cc-addr] [-b bcc-addr] to-addr

如下是 mail 命令中重要的參數(shù):

參數(shù) 描述
-s 在命令行中指定郵件的主題。
-c 給列表中的用戶發(fā)送副本。用戶列表是由逗號分開的用戶名列表。
-b 發(fā)送密文副本給列表中的用戶。各個列表由逗號分隔開。

下面是示例發(fā)送測試消息到 admin@yahoo.com。

$mail -s "Test Message" admin@yahoo.com 

接下來該輸入你的消息部分,消息輸入部分是在行首的 “control-D" 的之后。如果想要結束,你僅僅只需要輸入一個點類型(.),如下:

Hi,
This is a test
.
Cc: 

你可以發(fā)送一個完整的文件通過利用重定向 < 操作符,如下:

$mail -s "Report 05/06/07" admin@yahoo.com < demo.txt 

為了檢查是否有收到郵件,在 UNIX 系統(tǒng)中你可以簡單的輸入如下的命令:

$mail
no email
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號