歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux維護

基本UNIX命令集介紹

  UNIX命令集是很有特色的命令集。它被設計成用來全面控制UNIX的機器。這部分將對UNIX命令集的一部分進行討論。本部分與後面重點講述經常用於傳輸控制協議(TCP)和Internet協議(IP)的UNIX命令。請注意我們要討論的僅是UNIX中最常用的命令而不是對它的命令作一通覽。後面每一部分都對命令集的一個命令進行介紹。在本章的最後,您還會學到黑客們經常用來侵入服務器的命令。

  1.匹配符

  在談到命令時,如果該命令對應的文件不在當前目錄內,UNIX將要求您使用路徑名調用本命令。大多數命令都不在您所處的目錄內而是在系統的其他某個地方。另外大多數UNIX系統允許您使用匹配符(wildcard)來訪問文件或目錄。(表1)列出了UNIX中常用的匹配符。

  2.重定向字符

  大多數UNIX命令和程序從鍵盤接受輸入並將輸出送至屏幕。但對大多數命令來說您也可以將他們的輸入定向至文本文件並將其輸出重定向至另一個文件。例如:假設有一個程序叫encrypter。它從鍵盤輸入獲取,並進行加密,最後顯示在屏幕上。您可以重新改變其輸入。比如從一個預先定義的文件,要進行輸入重定向可以使用字符“〈”。

  在UNIX中,您可以通過鍵入它的名字來執行該程序。如果您想重定向輸入至一個文件,則您也可將要重定向至的文件名放在重定向符後面。例如:如果文件叫:Top_secret,您應該如下鍵入命令:encrypter < top_secret,程序將從文件top_secret輸入並加密最後輸出至屏幕上。

  另一方面,您也許想讓encrypter加密文件然後單獨存儲起來。這時您就可將輸入重定向至另一個文件。要進行這一步工作,可使用輸出重定向字符“>”,如果想存入private文件,則應如下鍵入:encrypter < top_secret > private。

  Encrypter加密程序將從文件top_secret中讀取其內容並進行加密,然後將結果輸出至文件private中。程序將不會往屏幕上寫任何東西。

  在使用重定向字符時,如果重定向輸出的字符不存在,shell將會創建該文件。如果該文件已經存在,shell將會覆蓋該文件而代之以加密後的內容。

  如果您不想覆蓋該文件的內容,您可以使用UNIX的重定向追加字符“> >”。它會將加密結果追加至已存在的private文件的尾部:encrypter < top_secret> >private。

  當然如果private不存在,shell將創建它。

  3.掌握命令行選項

  大多數UNIX命令都有多個選項或開關,您可以用來定義命令的不同形式。可以在命令行中命令後加入這些選項,一般使用一個破折線。例如:假設encrypter程序有一個選項叫X,它可以給encrypter選不同的加密算法。這樣我們可以對encrypter的運行進行一下簡單的配置,使用encrypter -X。如果一個命令有多個選項,則可以順次加進輸入流中。例如:encrypter有兩個命令選項:x和y。則您可以按如下的方式鍵入命令encrypter _xy,如果您在程序中這樣定義的話。但一般將其分開,即如下鍵入:encrypter _x _y。

  4.通道符介紹

  經常地,您想使用通道將一個命令或程序的輸出傳送到另一個的輸入。在Unix中,可使用管道符“|”來完成兩程序的聯接。例如:如果使用一個叫report的命令將文檔格式化為report格式。如果您有一個想以report格式浏覽的文件myreport,則您可如下操作:

  cat myreport | report

  這個命令符會將myreport文件送給report命令處理,而不是直接顯示在屏幕上。然後reporte命令繼續處理並最終以report格式顯示在屏幕上。

  5.掌握後台處理

  您可能選擇只是在後台執行一個命令和程序。也就是說您可以讓she11執行它,但同時您還可以做許多別的事情。在後台執行的命令,如同正常命令一樣鍵入,只不過需要在它後面加上“&”字符。例如:如果要想在後台刪除所有目錄中的文件則如下鍵入:

  $rm * &

  在執行命令後,您仍然可以運行別的任務,當在後台執行任務時,系統將顯示一個數字,然後返回到命令提示符下。系統生成的數字是命令的進程標識符。進程標識符是很重要的,因為您可以使用它來查看進程表以確定命令是否仍在運行。後面將對之進行討論。

  注意:在您進行後台處理時,命令或程序仍可以從鍵盤取得輸入並將送至屏幕。如果您不想在一個命令或程序在後台處理期間干擾您的工作,您可以使用重定向。

  6.掌握ping命令

  管理一台服務器時,您也許會經常向遠程服務器發送一些命令。但在發送命令之前,必須先同該服務器建立連接以確保其正在運行。這時,您可以使用ping命令發送 Internet Control Message Protocol(ICMP)包給另一台主機。ping命令將使用 ICMP的 ECHO_ REQUEST命令傳輸這些包。之後,ping將等待一個ICMP的ECHO_REQUEST回應,它與所發送的包一 一對應。如果ping的一個地址沒有回應,則說明該服務器不存在或沒有運行。例如:如果您同jamsa ping 連接,則會收到一個類似於下面的回應:

  $ Ping Jamsa

  ping jamsa(192.159.234.12):56 data bytes

  64 bytes from jamsa(192.159.234.12):TCMP_SEQ=0 ttl=254 time=10ms

  64 bytes from jamsa(192.159.234.12):TEMP_SEQ=0 ttl=254 time=10ms

  64 bytes from jamsa(192.159.234.12):TCMP_SEQ=0 ttl=254 time=10ms

  64 bytes from jamsa(192.159.234.12):TCMP_SEQ=0 ttl=254 time=10ms

  64 bytes from jamsa(192.159.234.12):TCMP_SEQ=0 ttl=254 time=10ms

  Jamsa ping statistics

  4 packets transmitted,4 packets received,0%packet lost round_trip min/avg/max=10/10/10ms

  $

  ping命令支持的一些附加的命令集可用來確定TCP/IP連接中的潛在的問題。

  (表2)列出了幾個ping命令的選項及它們的含義:

  表2 ping的命令選項

  7.finger命令的介紹

  在前面部分中,我們討論了如何使用ping命令以確定遠程服務器在運行。在多數情況下,我們可能想確切知道誰正與遠程服務器連接、從哪兒注冊的信息。這時,我們可以使用finger用戶信息接口來獲得關於遠程服務器的信息。

  在UNIX服務器或終端上,我們可以使用finger命令來獲得finger用戶信息接口。finger命令將返回在目標服務器上所有當前的用戶的列表。在大多數UNIX中,列表將包括用戶的注冊名、全名、昵稱、空閒時間、注冊時間、辦公地點、電話號碼(服務器如果知道電話號碼的話),您也可以使用finger 命令獲得一些特定用戶的信息而不是所有用戶。為了獲得關於一個用戶的登錄信息,可以如下操作:

  $ finger lklander

  login name:lklander(message off) In real lifte:lars Klander

  Directory:/u/lklander shell:/bin/ksh

  on since Sep 22 22:06:35 on ttyp0

  No plan

  $

  同ping命令一樣,finger命令也支持幾個選項。表1-9列出了這些選項的一個列表。

  由於finger 命令可以被任一個登錄的用戶使用,而且它可以提供許多重要的信息,一般情況下,系統管理員應將該命令禁止,以防黑客使用它獲得用戶信息。

Copyright © Linux教程網 All Rights Reserved