Unix系統中常用內置工具的命令使用指南

2020-07-12 20:26:08 來源:極客學院作者:佚名 人氣: 次閱讀 1 條評論

文章主要介紹了Unix系統中常用內置工具的命令使用指南,包括打印命令郵件命令和各種網絡通信命令等的介紹,需要的朋友可以參考下。打印文件
在 UNIX 系統中,您打印一個文件之...

文章主要介紹了Unix系統中常用內置工具的命令使用指南,包括打印命令郵件命令和各種網絡通信命令等的介紹,需要的朋友可以參考下。

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

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

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

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

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

操作 描述
-k 產生 k 列的輸出
-d 將輸出用兩個空格隔開(并不是所有的 pr 版本適用)。
-h "header" 將下一個項目作為頭部信息。
-t 去掉打印中的頭部和上/下邊距。
-l PAGE_LENGTH 設置一頁存放的數據行數為 PAGE_LENGTH(66)。默認的文本行數為 56 行。
-o MARGIN 設置每行之間的間隔為 MARGIN(0) 個空格。
-w PAGE_WIDTH 設置頁一行的字符個數為 PAGE_WIDTG(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 命令將輸出變成兩列,同時頭部顯示 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 命令格式化文本,您可以使用這些命令在任何與你電腦連接的打印機上打印你的文件。

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

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

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

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

lpstat 和 lpg 命令
lpstat 命令顯示在打印機隊列中的作業:請求的 ID,所有者,文件大小,當打印任務被發送給打印機的時候,請求的狀態同樣也發送了給打印機。

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

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

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 [-s subject] [-c cc-addr] [-b bcc-addr] to-addr

如下是 mail 命令中重要的參數:

參數 描述
-s 在命令行中指定郵件的主題。
-c 給列表中的用戶發送副本。用戶列表是由逗號分開的用戶名列表。
-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 系統中你可以簡單的輸入如下的命令:

ping 工具
ping 指令會發送一個應答請求到網絡中某個主機。該指令主要用于檢測遠端主機是否可以正常通信。

ping 指令可以用于如下用途:

追蹤并區分硬件或軟件的問題。
確定網絡和遠端主機的狀態。
測試、測量或網絡管理。
語法
如下是使用 ping 指令的語法:

$ping hostname or ip-address

上述指定會持續打印響應信息。用戶可以同時按下 CTRL+C 按鍵來結束信息的打印.

例子
下面是檢測網絡中某主機是否可達的例子:

$ping google.com
PING google.com (74.125.67.100) 56(84) bytes of data.
64 bytes from 74.125.67.100: icmp_seq=1 ttl=54 time=39.4 ms
64 bytes from 74.125.67.100: icmp_seq=2 ttl=54 time=39.9 ms
64 bytes from 74.125.67.100: icmp_seq=3 ttl=54 time=39.3 ms
64 bytes from 74.125.67.100: icmp_seq=4 ttl=54 time=39.1 ms
64 bytes from 74.125.67.100: icmp_seq=5 ttl=54 time=38.8 ms
--- google.com ping statistics ---
22 packets transmitted, 22 received, 0% packet loss, time 21017ms
rtt min/avg/max/mdev = 38.867/39.334/39.900/0.396 ms

如果某個主機不可達,那么會顯示如下信息:

$ping giiiiiigle.com
ping: unknown host giiiiigle.com

FTP 工具
FTP 就是文件傳輸協議(File Transter protocol)的簡稱。使用該工具可以幫助用戶在主機間上傳或下載文件。

FTP 工具擁有自己的 UNIX 指令,可以完成如下任務:

鏈接并登陸到遠程主機。
瀏覽目錄。
列出目錄內容。
上傳或下載文件。
按照 ascii、ebcdic 或 binary 方式傳輸文件。
語法
如下是使用 ftp 指令的語法:

$ftp hostname or ip-address

上述指令會觸發一個輸入賬號和密碼的登陸界面。如果用戶輸入的賬號和密碼認證通過,則用戶可以訪問相應輸入賬戶的根目錄,然后就可以執行多種操作。

下面是一些常用操作:

指令 描述
put filename 從本地往遠程服務器上傳文件
get filename 從遠程服務器往本地下載文件
mput file list 從本地往遠程服務器批量上傳文件
mget file list 從遠程服務器往本地批量下載文件
prompt off 關閉文件提醒,在 mput 與 mget 時不會每操作一個文件就詢問一次。
prompt on 開啟文件提醒
dir 列出遠程服務器上當前目錄下的所有文件
cd dirname 切換本地主機上的目錄到指定目錄下
lcd dirname 切換遠程服務器上的目錄到指定目錄下
quit 注銷當前登陸

需要注意的是,上傳和下載文件時的本地主機目錄都是當前目錄。如果用戶希望上傳或下載文件的目錄為特定的目錄,那么用戶需要先將當前目錄切換到指定目錄后再進行上傳或下載操作。

例子
下面是一些關于 ftp 操作的例子:

$ftp amrood.com
Connected to amrood.com.
220 amrood.com FTP server (Ver 4.9 Thu Sep 2 20:35:07 CDT 2009)
Name (amrood.com:amrood): amrood
331 Password required for amrood.
Password:
230 User amrood logged in.
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 1464
drwxr-sr-x 3 amrood group 1024 Mar 11 20:04 Mail
drwxr-sr-x 2 amrood group 1536 Mar 3 18:07 Misc
drwxr-sr-x 5 amrood group512 Dec 7 10:59 OldStuff
drwxr-sr-x 2 amrood group 1024 Mar 11 15:24 bin
drwxr-sr-x 5 amrood group 3072 Mar 13 16:10 mpl
-rw-r--r-- 1 amrood group 209671 Mar 15 10:57 myfile.out
drwxr-sr-x 3 amrood group512 Jan 5 13:32 public
drwxr-sr-x 3 amrood group512 Feb 10 10:17 pvm3
226 Transfer complete.
ftp> cd mpl
250 CWD command successful.
ftp> dir
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 7320
-rw-r--r-- 1 amrood group 1630 Aug 8 1994 dboard.f
-rw-r----- 1 amrood group 4340 Jul 17 1994 vttest.c
-rwxr-xr-x 1 amrood group 525574 Feb 15 11:52 wave_shift
-rw-r--r-- 1 amrood group 1648 Aug 5 1994 wide.list
-rwxr-xr-x 1 amrood group 4019 Feb 14 16:26 fix.c
226 Transfer complete.
ftp> get wave_shift
200 PORT command successful.
150 Opening data connection for wave_shift (525574 bytes).
226 Transfer complete.
528454 bytes received in 1.296 seconds (398.1 Kbytes/s)
ftp> quit
221 Goodbye.

Telnet 工具
用戶在工作經常會遇到這樣的需求:用戶需要連接到遠程 UNIX 主機且需要在遠程主機上進行操作。Telnet 就是一個允許用戶對遠程服務器進行連接、登陸且可以進行遠程操作的工具。

一旦用戶使用 Telnet 工具登陸到了遠程服務器上,那么用戶就可以像在本地主機操作那樣操作遠程服務器來執行任務。下面是 Telnet 對話的一個例子:

C:>telnet amrood.com
Trying...
Connected to amrood.com.
Escape character is '^]'.</p> <p> login: amrood
amrood's Password:
*****************************************************
* *
* *
*WELCOME TO AMROOD.COM *
* *
* *
*****************************************************</p> <p> Last unsuccessful login: Fri Mar 3 12:01:09 IST 2009
Last login: Wed Mar 8 18:33:27 IST 2009 on pts/10</p> <p> { do your work }</p> <p> $ logout
Connection closed.

finger 工具
finger 指令用于顯示指定主機上有關用戶的信息。這里的主機可以是本地主機,也可以是遠程服務器。

由于安全原因,finger 也能在其他系統中使用。

下面是使用 finger 指令的簡單語法。

檢測本地主機中登陸用戶的信息的例子如下:

$ finger
Login Name Tty Idle Login Time Office amrood pts/0 Jun 25 08:03 (62.61.164.115)

獲取本地主機上指定有效用戶的信息的例子如下:

$ finger amrood
Login: amrood Name: (null)
Directory: /home/amrood Shell: /bin/bash
On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115
No mail.
No Plan.

檢測遠程服務器中所有登陸用戶的信息的例子如下:

$ finger @avtar.com
Login Name Tty Idle Login Time Office
amrood pts/0 Jun 25 08:03 (62.61.164.115)

獲取遠程服務器上的指定有效用戶信息的例子如下:

$ finger amrood@avtar.com
Login: amrood Name: (null)
Directory: /home/amrood Shell: /bin/bash
On since Thu Jun 25 08:03 (MST) on pts/0 from 62.61.164.115
No mail.
No Plan.

 

您可能感興趣的文章

相關文章