比如我所建立的是window下面E盤目錄下面的linux檔案夾為共用資料夾,所以只需要在linux環境下面使用ftp訪問e:/linux 下面的檔案即可。 ftp 192.168.3.45 然後輸入使用者名稱和密碼,進入ftp狀態。 ftp> get /huawei_u9508/boot.img boot.img huawei_u9508是e:/linux下面的一個檔案夾。 ftp> put /boot.img /huawei_u9508/boot.img 一.概述
本文講述了在Linux主機與windows主機之間如何互傳檔案的方法。因為有的時候,linux主機中的一些檔案可能會在windows環境下用到。例如在linux主機中抓了一些圖片,想把它們傳到windows主機上以作為word文檔的插圖。又或者從Windows主機上網,下載了一些linux的軟體包,想傳到linux主機中安裝。在這些情況下,都需要一種方法來進行兩者之間的互連。
本文採用ftp方式來傳送檔案,軟體採用Serv-U。在widows主機下安裝Serv-U,使其成為ftp伺服器,在linux主機下通過ftp命令來上傳和下載檔案。經過實驗,可以很好的滿足需求。
二.實驗環境
軟體環境:
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”。 www.45it.com(電腦軟硬體應用網)
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”(結束)即完成設定。
建立好了一個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 下。
///////////////////////////////////////// 1. 串連ftp伺服器格式:ftp [hostname| ip-address] a)在linux命令列下輸入: ftp 192.168.1.1b)伺服器詢問你使用者名稱和密碼,分別輸入使用者名稱和相應密碼,待認證通過即可。 2. 下載檔案 下載檔案通常用get和mget這兩條命令。 a) get 格式:get [remote-file] [local-file] 將檔案從遠端主機中傳送至本地主機中。 如要擷取遠程伺服器上/usr/your/1.htm,則 ftp> get /usr/your/1.htm 1.htm (斷行符號) b) mget 格式:mget [remote-files] 從遠端主機接收一批檔案至本地主機。 如要擷取伺服器上/usr/your/下的所有檔案,則 ftp> cd /usr/your/ ftp> mget *.* (斷行符號) 此時每下載一個檔案,都會有提示。如果要除掉提示,則在mget *.* 命令前先執行:prompt off
注意:檔案都下載到了linux主機的目前的目錄下。比如,在 /usr/my下啟動並執行ftp命令,則檔案都下載到了/usr/my下。 3.上傳檔案 a) put 格式:put local-file [remote-file] 將本地一個檔案傳送至遠端主機中。 如要把本地的1.htm傳送到遠端主機/usr/your,並改名為2.htm ftp> put 1.htm /usr/your/2.htm (斷行符號) b) mput 格式:mput local-files 將本地主機中一批檔案傳送至遠端主機。 如要把本地目前的目錄下所有html檔案上傳到伺服器/usr/your/ 下 ftp> cd /usr/your (斷行符號) ftp> mput *.htm (斷行符號) 注意:上傳檔案都來自於主機的目前的目錄下。比如,在 /usr/my下啟動並執行ftp命令,則只有在/usr/my下的檔案linux才會上傳到伺服器/usr/your 下。
4. 中斷連線 bye:中斷與伺服器的串連。 ftp> bye (斷行符號) /////////////////////////////////////////////linux--ftp命令大全FTP的命令列格式為: ftp -v -d -i -n -g [主機名稱] ,其中 -v 顯示遠程伺服器的所有響應資訊; -n 限制ftp的自動登入,即不使用;.n etrc檔案; -d 使用調試方式; -g 取消通用檔案名。 FTP使用的內部命令如下(中括弧表示可選項): 1.![cmd[args]]:在本地機中執行互動shell,exit回到ftp環境,如:!ls*.zip 2.$ macro-ame[args]: 執行宏定義macro-name。 3.account[password]: 提供登入遠程系統成功後訪問系統資源所需的補充口令。 4.append local-file[remote-file]:將本地檔案追加到遠程系統主機,若未指定遠程系統檔案名稱,則使用本地檔案名稱。 5.ascii:使用ascii類型傳輸方式。 6.bell:每個命令執行完畢後電腦響鈴一次。 7.bin:使用二進位檔案傳輸方式。 8.bye:退出ftp會話過程。 9.case:在使用mget時,將遠程主機檔案名稱中的大寫轉為小寫字母。 10.cd remote-dir:進入遠程主機目錄。 11.cdup:進入遠程主機目錄的父目錄。 12.chmod mode file-name:將遠程主機檔案file-name的存取方式設定為mode,如:chmod 777 a.out。 13.close:中斷與遠程伺服器的ftp會話(與open對應)。 14.cr:使用asscii方式傳輸檔案時,將斷行符號換行轉換為回行。 15.delete remote-file:刪除遠程主機檔案。 16.debug[debug-value]:設定調試方式, 顯示發送至遠程主機的每條命令,如:deb up 3,若設為0,表示取消debug。 17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本地檔案 18.disconnection:同close。 19.form format:將檔案傳輸方式設定為format,預設為file方式。 20.get remote-file[local-file]: 將遠程主機的檔案remote-file傳至本地硬碟的local-file。 21.glob:設定mdelete,mget,mput的檔案名稱擴充,預設時不擴充檔案名稱,同命令列的-g參數。 22.hash:每傳輸1024位元組,顯示一個hash符號(#)。 23.help[cmd]:顯示ftp內部命令cmd的協助資訊,如:help get。 24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。 25.image:設定二進位傳輸方式(同binary)。 26.lcd[dir]:將本地工作目錄切換至dir。 27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本地檔案local-file。 28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。 29.mdelete[remote-file]:刪除遠程主機檔案。 30.mdir remote-files local-file:與dir類似,但可指定多個遠程檔案,如 :mdir *.o.*.zipoutfile 。 31.mget remote-files:傳輸多個遠程檔案。 32.mkdir dir-name:在遠程主機中建一目錄。 33.mls remote-file local-file:同nlist,但可指定多個檔案名稱。 34.mode[modename]:將檔案傳輸方式設定為modename, 預設為stream方式。 35.modtime file-name:顯示遠程主機檔案的最後修改時間。 36.mput local-file:將多個檔案傳輸至遠程主機。 37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同名檔案的時間更近,則重傳該檔案。 38.nlist[remote-dir][local-file]:顯示遠程主機目錄的檔案清單,並存入本地硬碟的local-file。 39.nmap[inpattern outpattern]:設定檔案名稱映射機制, 使得檔案傳輸時,檔案中的某些字元相互轉換, 如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸檔案a1.a2.a3時,檔案名稱變為a1,a2。 該命令特別適用於遠程主機為非UNIX機的情況。 40.ntrans[inchars[outchars]]:設定檔案名稱字元的翻譯機制,如ntrans1R,則檔案名稱LLL將變為RRR。 41.open host[port]:建立指定ftp伺服器串連,可指定串連連接埠。 42.passive:進入被動傳輸方式。 43.prompt:設定多個檔案傳輸時的互動提示。 44.proxy ftp-cmd:在次要控制串連中,執行一條ftp命令, 該命令允許串連兩個ftp伺服器,以在兩個伺服器間傳輸檔案。第一條ftp命令必須為open,以首先建立兩個伺服器間的串連。 45.put local-file[remote-file]:將本地檔案local-file傳送至遠程主機。 46.pwd:顯示遠程主機的當前工作目錄。 47.quit:同bye,退出ftp會話。 48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如:quote syst. 49.recv remote-file[local-file]:同get。 50.reget remote-file[local-file]:類似於get, 但若local-file存在,則從上次傳輸中斷處續傳。 51.rhelp[cmd-name]:請求獲得遠程主機的協助。 52.rstatus[file-name]:若未指定檔案名稱,則顯示遠程主機的狀態, 否則顯示檔案狀態。 53.rename[from][to]:更改遠程主機檔案名稱。 54.reset:清除回答隊列。 55.restart marker:從指定的標誌marker處,重新開始get或put,如:restart 130。 56.rmdir dir-name:刪除遠程主機目錄。 57.runique:設定檔案名稱只一性儲存,若檔案存在,則在原檔案後加尾碼.1, .2等。 58.send local-file[remote-file]:同put。 59.sendport:設定PORT命令的使用。 60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。 61.size file-name:顯示遠程主機檔案大小,如:site idle 7200。 62.status:顯示當前ftp狀態。 63.struct[struct-name]:將檔案傳輸結構設定為struct-name, 預設時使用stream結構。 64.sunique:將遠程主機檔案名稱儲存設定為只一(與runique對應)。 65.system:顯示遠程主機的作業系統類型。 66.tenex:將檔案傳輸類型設定為TENEX機的所需的類型。 67.tick:設定傳輸時的位元組計數器。 68.trace:設定包跟蹤。 69.type[type-name]:設定檔案傳輸類型為type-name,預設為ascii,如:type binary,設定二進位傳輸方式。 70.umask[newmask]:將遠程伺服器的預設umask設定為newmask,如:umask 3 71.user user-name[password][account]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:user anonymous my@email。 72.verbose:同命令列的-v參數,即設定詳盡報告方式,ftp 伺服器的所有響 應都將顯示給使用者,預設為on. 73.?[cmd]:同help. |