Linux 的 常 用 網 絡 命 令

來源:互聯網
上載者:User

電腦網路的主要優點是能夠實現資源和資訊的共用,並且使用者可以遠端存取資訊。Linux提供了一組強有力的網路命令來為使用者服務,這些工具能夠協助使用者登入到遠端電腦上、傳輸檔案和執行遠程命令等。 本章介紹下列幾個常用的有關網路操作的命令:

ftp 傳輸檔案
telnet 登入到遠端電腦上
r - 使用各種遠程命令
netstat 查看網路的狀況
nslookup 查詢網域名稱和IP地址的對應
finger 查詢某個使用者的資訊
ping 查詢某個機器是否在工作

使用ftp命令進行遠程檔案傳輸
ftp命令是標準的檔案傳輸通訊協定的使用者介面。ftp是在TCP/IP網路上的電腦之間傳輸檔案的簡單有效方法。它允許使用者傳輸ASCII檔案和二進位檔案。 在ftp會話過程中,使用者可以通過使用ftp客戶程式串連到另一台電腦上。從此,使用者可以在目錄中上下移動、列出目錄內容、把檔案從遠程機拷貝到本地機上、把檔案從本地機傳輸到遠程系統中。

需要注意的是,如果使用者沒有那個檔案的存取許可權,就不能從遠程系統中獲得檔案或向遠程系統傳輸檔案。 為了使用ftp來傳輸檔案,使用者必須知道遠端電腦上的合法使用者名稱和口令。這個使用者名稱/口令的組合用來確認ftp 會話,並用來確定使用者對要傳輸的檔案可以進行什麼樣的訪問。另外,使用者顯然需要知道對其進行ftp 會話的電腦的名字或IP地址。

Ftp命令的功能是在本地機和遠程機之間傳送檔案。該命令的一般格式如下:
$ ftp 主機名稱/IP

其中“主機名稱/IP”是所要串連的遠程機的主機名稱或IP地址。在命令列中,主機名稱屬於選項,如果指定主機名稱,ftp將試圖與遠程機的ftp服務程式進行串連;如果沒有指定主機名稱,ftp將給出提示符,等待使用者輸入命令: $ ftp ftp > 此時在ftp>提示符後面輸入open命令加主機名稱或IP地址,將試圖串連指定的主機。 不管使用哪一種方法,如果串連成功,需要在遠程機上登入。使用者如果在遠程機上有帳號,就可以通過ftp使用這一帳號並需要提供口令。
在遠程機上的使用者帳號的讀寫權限決定該使用者在遠程機上能下載什麼檔案和將上傳檔案放到哪個目錄中。 如果沒有遠程機的專用登入帳號,許多ftp網站設有可以使用的特殊帳號。這個帳號的登入名稱為anonymous(也稱為匿名ftp),當使用這一帳號時,要求輸入email地址作為口令。 如果遠程系統提供匿名ftp服務,使用者使用這項服務可以登入到特殊的,供公開使用的目錄。

一般專門提供兩個目錄:pub目錄和incoming目錄。pub目錄包含該網站供公眾使用的所有檔案,incoming目錄存放上傳到該網站的檔案。 一旦使用者使用ftp在遠端站台上登入成功,將得到“ftp>”提示符。現在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清單,也可以在 help命令後面指定具體的命令名稱,獲得這條命令的說明。
最常用的命令有:
ls 列出遠程機的目前的目錄
cd 在遠程機上改變工作目錄
lcd 在本地機上改變工作目錄
ascii 設定檔案傳輸方式為ASCII模式
binary 設定檔案傳輸方式為二進位模式
close終止當前的ftp會話
hash 每次傳輸完資料緩衝區中的資料後就顯示一個#號
get(mget) 從遠程機傳送指定檔案到本地機
put(mput) 從本地機傳送指定檔案到遠程機
open 串連遠程ftp網站
quit斷開與遠程機的串連並退出ftp
? 顯示本地協助資訊
! 轉到Shell中

下面簡單將ftp常用命令作一簡介。
啟動ftp會話 open命令用於開啟一個與遠程主機的會話。該命令的一般格式是: open 主機名稱/IP 如果在ftp 會話期間要與一個以上的網站串連,通常只用不帶參數的ftp命令。如果在會話期間只想與一台電腦串連,那麼在命令列上指定遠程主機名稱或IP地址作為ftp命令的參數。 終止ftp會話 close、disconnect、quit和bye命令用於終止與遠程機的會話。close和disronnect命令關閉與遠程機的串連,但是使使用者留在本機電腦的ftp程式中。quit和bye命令都關閉使用者與遠程機的串連,然後退出使用者機上的ftp 程式。 改變目錄 “cd [目錄]”命令用於在ftp會話期間改變遠程機上的目錄,lcd命令改變本地目錄,使使用者能指定尋找或放置本地檔案的位置。 遠程目錄列表 ls命令列出遠程目錄的內容,就像使用一個互動shell中的ls命令一樣。ls命令的一般格式是: ls [目錄] [本地檔案] 如果指定了目錄作為參數,那麼ls就列出該目錄的內容。如果給出一個本地檔案的名字,那麼這個目錄列表被放入本地機上您指定的這個檔案中。 從遠程系統擷取檔案 get和mget命令用於從遠程機上擷取檔案。get命令的一般格式為: get 檔案名稱 您還可以給出本地檔案名稱,這個檔案名稱是這個要擷取的檔案在您的本地機上建立時的檔案名稱。如果您不給出一個本地檔案名稱,那麼就使用遠程檔案原來的名字。 mget命令一次擷取多個遠程檔案。mget命令的一般格式為: mget 檔案名稱列表 使用用空格分隔的或帶萬用字元的檔案名稱列表來指定要擷取的檔案,對其中的每個檔案都要求使用者確認是否傳送。   向遠程系統傳送檔案 put和mput命令用於向遠程機傳送檔案。Put命令的一般格式為: put 檔案名稱 mput命令一次發送多個本地檔案,mput命令的一般格式為: mput 檔案名稱列表 使用用空格分隔的或帶萬用字元的檔案名稱列表來指定要發送的檔案。對其中的每個檔案都要求使用者確認是否發送。 改變檔案傳輸模式 預設情況下,ftp按ASCII模式傳輸檔案,使用者也可以指定其他模式。ascii和brinary命令的功能是設定傳輸的模式。用ASCII模式傳輸檔案對純文字是非常好的,但為避免對二進位檔案的破壞,使用者可以以二進位模式傳輸檔案。 檢查傳輸狀態 傳輸大型檔案時,可能會發現讓ftp提供關於傳輸情況的反饋資訊是非常有用的。hash命令使ftp在每次傳輸完資料緩衝區中的資料後,就在螢幕上列印一個#字元。本命令在發送和接收檔案時都可以使用。 ftp中的本地命令 當您使用ftp時,字元“!”用於向本地機上的命令shell傳送一個命令。如果使用者處在ftp會話中,需要shell做某些事,就很有用。例如使用者要建立一個目錄來儲存已接收的檔案。如果輸入!mkdir new_dir,那麼Linux就在使用者當前的本地目錄中建立一個名為new_dir 的目錄。

從遠程機grunthos下載位元據檔案的典型對話過程如下:
$ ftp grunthos Connected to grunthos 220 grunthos ftp server Name (grunthos:pc): anonymous 33l Guest login ok, send your complete e-mail address as password. Password: 230 Guest 1ogin ok, access restrictions apply. Remote system type is UNIX. ftp > cd pub 250 CWD command successful. ftp > ls 200 PORT command successful. l50 opening ASCII mode data connection for /bin/1s. total ll4 rog1 rog2 226 Transfer comp1ete . ftp > binary 200 type set to I. ftp > hash Hash mark printing on (1024 bytes/hash mark). ftp > get rog1 200 PORT command successfu1. 150 opening BINARY mode data connection for rogl (l4684 bytes). # # # # # # # # # # # # # 226 Transfer complete. 14684 bytes received in 0.0473 secs (3e + 02 Kbytes/sec) ftp > quit 22l Goodbye.

使用telnet命令訪問遠端電腦
使用者使用telnet命令進行遠程登入。該命令允許使用者使用telnet協議在遠端電腦之間進行通訊,使用者可以通過網路在遠端電腦上登入,就像登入到本地機上執行命令一樣。 為了通過telnet登入到遠端電腦上,必須知道遠程機上的合法使用者名稱和口令。雖然有些系統確實為遠端使用者提供登入功能,但出於對安全的考慮,要限制來賓的操作許可權,因此,這種情況下能使用的功能是很少的。當允許遠端使用者登入時,系統通常把這些使用者放在一個受限制的shell中,以防系統被懷有惡意的或不小心的使用者破壞。 使用者還可以使用telnet從遠端站台登入到自己的電腦上,檢查電子郵件、編輯檔案和運行程式,就像在本地登入一樣。
但是,使用者只能使用基於終端的環境而不是X Wndows環境,telnet只為普通終端提供終端模擬,而不支援 X Wndow等圖形環境。 telnet命令的一般形式為: telnet 主機名稱/IP 其中“主機名稱/IP”是要串連的遠程機的主機名稱或IP地址。如果這一命令執行成功,將從遠程機上得到login:提示符。 使用telnet命令登入的過程如下: $ telnet 主機名稱/IP 啟動telnet會話。 一旦telnet成功地串連到遠程系統上,就顯示登入資訊並提示使用者輸人使用者名稱和口令。如果使用者名稱和口令輸入正確,就能成功登入並在遠程系統上工作。 在telnet提示符後面可以輸入很多命令,用來控制telnet會話過程,在telnet線上說明手冊中對這些命令有詳細的說明。

下面是一台Linux電腦上的telnet會話舉例:
$ telnet server. somewhere. com Trying 127.0.0.1… Connected to serve. somewhere. com. Escape character is \'?]\'. “TurboLinux release 4. 0 (Colgate)   kernel 2.0.18 on an I486   login: bubba password: Last login:Mon Nov l5 20:50:43 for localhost Linux 2. 0.6. (Posix). server: ~$ server: ~$ logout Connection closed by foreign host $

使用者結束了遠端工作階段後,一定要確保使用logout命令退出遠程系統。然後telnet報告遠端工作階段被關閉,並返回到使用者的本地機的Shell提示符下。 r-系列命令 除ftp和telnet以外,還可以使用r-系列命令訪問遠端電腦和在網路上分頁檔。 使用r-系列命令需要特別注意,因為如果使用者不小心,就會造成嚴重的安全性漏洞。使用者發出一個r-系列命令後,遠程系統檢查名為/etc/hosts.equiv的檔案,以查看使用者的主機是否列在這個檔案中。如果它沒有找到使用者的主機,就檢查遠程機上同名使用者的主目錄中名為.rhosts的檔案,看是否包括該使用者的主機。如果該使用者的主機包括在這兩個檔案中的任何一個之中,該使用者執行r-系列命令就不用提供口令。

雖然使用者每次訪問遠程機時不用鍵入口令可能是非常方便的,但是它也可能會帶來嚴重的安全問題。我們建議使用者在建立/etc/hosts.equiv和.rhosts檔案之前,仔細考慮r-命令隱含的安全問題。

rlogin命令
rlogin 是“remote login”(遠程登入)的縮寫。該命令與telnet命令很相似,允許使用者啟動遠程系統上的互動命令會話。rlogin 的一般格式是:
rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host

一般最常用的格式是: rlogin host 該命令中各選項的含義為:
-8 此選項始終允許8位輸入資料通道。該選項允許發送格式化的ANSI字元和其他的特殊代碼。如果不用這個選項,除非遠端的終止和啟動字元不是或,否則就去掉同位位元。
-E 停止把任何字元當作逸出字元。當和-8選項一起使用時,它提供一個完全的透明串連。
-K 關閉所有的Kerberos確認。只有與使用Kerberos 確認協議的主機串連時才使用這個選項。
-L 允許rlogin會話在litout模式中運行。要瞭解更多資訊,請查閱tty線上說明。
-d 開啟與遠程主機進行通訊的TCP sockets的socket調試。要瞭解更多資訊,請查閱setsockopt的線上說明。
-e 為rlogin會話設定逸出字元,預設的逸出字元是“~”,使用者可以指定一個文字字元或一個\\nnn形式的八位元。
-k 請求rlogin獲得在指定地區內的遠程主機的Kerberos許可,而不是獲得由krb_realmofhost(3)確定的遠程主機地區內的遠程主機的Kerberos 許可。
-x 為所有通過rlogin會話傳送的資料開啟DES加密。這會影響回應時間和CPU利用率,但是可以提高安全性。

rsh命令
rsh是“remote shell”(遠程 shell)的縮寫。 該命令在指定的遠程主機上啟動一個shell並執行使用者在rsh命令列中指定的命令。如果使用者沒有給出要執行的命令,rsh就用rlogin命令使使用者登入到遠程機上。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command ]
command可以是從shell提示符下鍵人的任何Linux命令。
rsh命令中各選項的含義如下:
-K 關閉所有的Kerbero確認。該選項只在與使用Kerbero確認的主機串連時才使用。
-d 開啟與遠程主機進行通訊的TCP sockets的socket調試。要瞭解更多的資訊,請查閱setsockopt的線上說明。
-k 請求rsh獲得在指定地區內的遠程主機的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠程主機地區內的遠程主機的Kerberos許可。
-l 預設情況下,遠端使用者名與本機使用者名相同。本選項允許指定遠端使用者名,如果指定了遠端使用者名,則使用Kerberos 確認,與在rlogin命令中一樣。
-n 重新導向來自特殊裝置/dev/null的輸入。
-x 為傳送的所有資料開啟DES加密。這會影響回應時間和CPU利用率,但是可以提高安全性。   Linux把標準輸入放入rsh命令中,並把它拷貝到要遠程執行的命令的標準輸入中。它把遠程命令的標準輸出拷貝到rsh的標準輸出中。它還把遠程標準錯誤拷貝到本地標準錯誤檔案中。任何退出、中止和中斷訊號都被送到遠程命令中。當遠程命令終止了,rsh也就終止了。

rcp命令
rcp代表“remote file copy”(遠程檔案拷貝)。該命令用於在電腦之間拷貝檔案。
rcp命令有兩種格式。第一種格式用於檔案到檔案的拷貝;第二種格式用於把檔案或目錄拷貝到另一個目錄中。
rcp命令的一般格式是:
rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
directory 每個檔案或目錄參數既可以是遠程檔案名稱也可以是本地檔案名稱。遠程檔案名稱具有如下形式:rname@rhost:path,其中rname是遠端使用者名,rhost是遠端電腦名,path是這個檔案的路徑。
rcp命令的各選項含義如下:
-r 遞迴地把來源目錄中的所有內容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。
-p 試圖保留源檔案的修改時間和模式,忽略umask。
-k 請求rcp獲得在指定地區內的遠程主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠程主機地區內的遠程主機的Kerberos許可。
-x 為傳送的所有資料開啟DES加密。這會影響回應時間和CPU利用率,但是可以提高安全性。 如果在檔案名稱中指定的路徑不是完整的路徑名,那麼這個路徑被解釋為相對遠程機上同名使用者的主目錄。如果沒有給出遠端使用者名,就使用目前使用者名。如果遠程機上的路徑包含特殊shell字元,需要用反斜線(\\)、雙引號(”)或單引號(')括起來,使所有的shell元字元都能被遠程地解釋。 需要說明的是,rcp不提示輸入口令,它通過rsh命令來執行拷貝。 - Turbolinux 提供稿件

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.