打印文件
在 UNIX 系統中,您打印一個文件之前,您可能想要重新格式化它調整它的邊距,高亮顯示一些單詞等等。大多數文件也可以打印而不用重新格式化,但未經處理的打印可能不那麼好看。
UNIX 系統的許多版本中都包含了兩個強大的文本格式化命令,nroff 和 troff。他們不包含在本教程中,但是你可以在在網上查到很多關於講解這兩個命令的使用方式的資料。
pr 命令
pr 命令可以對終端顯示屏上或者打印機上顯示的文件進行小幅度的格式化。例如,如果在你的文件中有一長串名字,你可以將它格式化成兩列或者多列在屏幕上顯示。
如下是 pr 命令的語法示例:
pr option(s) filename(s)
pr 命令僅僅只是格式化顯示在屏幕上或者打印的副本文件,它不會修改源文件。如下的列表顯示一些 pr 命令中可選的參數:
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 命令中重要的參數:
Hi,
This is a test
.
Cc:
你可以發送一個完整的文件通過利用重定向 < 操作符,如下:
代碼如下:
$mail -s "Report 05/06/07" [email protected] < demo.txt
為了檢查是否有收到郵件,在 UNIX 系統中你可以簡單的輸入如下的命令:
代碼如下:
$mail
no email
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
上述指令會觸發一個輸入賬號和密碼的登陸界面。如果用戶輸入的賬號和密碼認證通過,則用戶可以訪問相應輸入賬戶的根目錄,然後就可以執行多種操作。
下面是一些常用操作:
例子
下面是一些關於 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 [email protected]
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.