一.概述 本文講述了在Linux主機與windows主機之間如何互傳文件的方法。因為有的時候,linux主機中的一些文件可能會在windows環境下用到。例如在Linux主機中抓了一些圖片,想把它們傳到Windows主機上以作為Word文檔的插圖。又或者從Windows主機上網,下載了一些linux的軟件包,想傳到Linux主機中安裝。在這些情況下,都需要一種方法來進行兩者之間的互通。
本文采用ftp方式來傳送文件,軟件采用Serv-U。在widows主機下安裝Serv-U,使其成為FTP服務器,在Linux主機下通過FTP命令來上傳和下載文件。經過試驗,可以很好的滿足需求。
二.實驗環境 網絡拓撲如下:
圖1
軟件環境:
A機:
操作系統:Windows2000, IP: 10.18.34.115.
B機:
操作系統:Linux Red Hat 9.0, IP:10.18.34.251.
三.
1. Serv-U的安裝
執行setup.exe, 全部選默認選項即可。
2. Serv-U的常規設置
在安裝完成後,會彈出配置向導對話框,這裡按要求填入相應信息,即可配置成功一個FTP服務器。這裡A機的ip地址是10.18.34.115.按照安裝向導做如下操作:
1) IP address(IP地址):輸入“10.18.34.115”。(如果使用動態的或無合法的IP地址則此項為空)。
2) Domain name(域名):輸入域名,例如“RoseRed”(此處隨意)。
3) Install as system server(安裝成一個系統服務器嗎):選“Yes”。
4) Allow anonymous Access(接受匿名登錄嗎):此處可根據自己需要選擇,比如選“Yes”。
5) anonymous home directory(匿名主目錄):此處可輸入(或選擇)一個供匿名用戶登錄的主目錄。
6) Lock anonymous users in to their home directory(將用戶鎖定在剛才選定的主目錄中嗎):即是否將上步的主目錄設為用戶的根目錄;一般選“Yes”。
7) Create named account(建立其他帳號嗎):此處詢問是否建立普通登錄用戶帳號;一般選“Yes”。
8) Account login name(用戶登錄名):普通用戶帳號名,比如輸入“yint”。
9) PassWord(密碼):設定用戶密碼。由於此處是用明文(而不是*)顯示所輸入的密碼,因此只輸一次。
10) Home directory(主目錄):輸入(或選擇)此用戶的主目錄,如“E:\”(本文將對E:\上的文件進行操作).
11) Lock anonymous users in to their home directory(將用戶鎖定在主目錄中嗎):選“Yes”。
12) Account admin privilege(帳號管理特權):一般使用它的默認值“No privilege”(普通帳號)。
13) 最後選“Finish”(結束)即完成設置,如下圖:
圖2 從上圖中可以看到,現在已經建立好了一個FTP服務器,服務器地址為“RoseRed”,其下有兩個用戶,一個是匿名用戶“Anonymous”,其密碼為空;一個是普通用戶“yint”,其密碼為在向導中輸入的內容。
3. Serv-U的權限設置
比如在左邊的面板中選中“yint”用戶,則在右邊的面板中出現如下圖的設置窗口。選“Dir Access”(目錄存取權限)標簽項,即可設置此用戶在它的主目錄(此處為“E:\”)下是否對文件擁有“Read”(讀)、Write(寫)、“Append”(寫和添加)、“Delete”(刪除)、“Execute”(執行)權限;是否對目錄擁有“List”(顯示文件和目錄的列表)、“Create”(建立新目錄)和“Remove”(修改目錄,包括刪除,移動,更名)權限等等。
可根據需要進行設置,一般將Read, Write 選中。
四、在Linux下使用FTP命令 1. 連接FTP服務器 格式:FTP [hostname ip-address]
a)在Linux命令行下輸入:FTP 10.18.34.115
b)服務器詢問你用戶名和口令,分別輸入yint和相應密碼,待認證通過即可。
2. 下載文件 下載文件通常用get和mget這兩條命令。
a) get 格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取服務器上E:\rose\1.bmp,則
FTP> get /rose/1.bmp 1.bmp (回車)
b) mget 格式:mget [remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取服務器上E:\rose\下的所有文件,則
FTP> cd /rose
FTP> mget *.* (回車)
注意:文件都下載到了Linux主機的當前目錄下。比如,在 /root/yint下運行的FTP命令,則文件都下載到了/root/yint下。
3.上傳文件 a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機E:\rose,並改名為333.bmp
FTP> put 1.bmp /rose/333.bmp (回車)
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機.
要把本地當前目錄下所有bmp文件上傳到服務器E:\rose 下
FTP> cd /rose (回車)
FTP> mput *.bmp (回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在 /root/yint下運行的FTP命令,則只有在/root/yint下的文件Linux才會上傳到服務器E:\rose 下。
4. 斷開連接 bye:中斷與服務器的連接。
FTP> bye (回車)