FTP協(xié)議命令基礎(chǔ)講解
在FTP使用的過程中,我們常會對它進(jìn)行命令編輯,以便能夠有效地管理這方面的使用。那么對于這個FTP協(xié)議命令如何來學(xué)習(xí)呢?我們***步來了解一下這個協(xié)議的基本情況吧。那么首先要分析一下它的使用環(huán)境。
FTP協(xié)議的用途
在本地主機(jī)和遠(yuǎn)程主機(jī)之間傳送文件。
FTP協(xié)議的語法
ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
FTP協(xié)議的描述
FTP協(xié)議命令使用“文件傳送協(xié)議” (FTP) 在本地和遠(yuǎn)程主機(jī)或遠(yuǎn)程主機(jī)之間傳送文件。
FTP協(xié)議允許在使用不同文件系統(tǒng)的主機(jī)之間進(jìn)行數(shù)據(jù)傳送。盡管協(xié)議在傳送數(shù)據(jù)中提供了很高的靈活度,它仍然不會嘗試保留特定于某個文件系統(tǒng)的文件屬性(如文件保護(hù)模式或修改時間)。而且,F(xiàn)TP協(xié)議為文件系統(tǒng)的整體結(jié)構(gòu)做了少許假設(shè),且不提供或不允許諸如循環(huán)地復(fù)制子目錄這樣的函數(shù)。
請注意:如果您正在系統(tǒng)之間傳送文件,且需要保存文件屬性或遞歸地復(fù)制子目錄,請使用 rcp 命令。
FTP協(xié)議命令的發(fā)布子命令
您可以在 ftp> 提示符中輸入子命令,執(zhí)行類似這樣的任務(wù):列出遠(yuǎn)程目錄、更改當(dāng)前的本地和遠(yuǎn)程目錄、在單一請求中傳送多個文件、創(chuàng)建和除去目錄,以及轉(zhuǎn)義到本地 shell 執(zhí)行 shell 命令。請參考子命令章節(jié)取得每個子命令的描述信息。
如果您執(zhí)行 ftp 命令而不為遠(yuǎn)程主機(jī)指定 HostName 參數(shù),ftp 命令會立即顯示 ftp> 提示符,等待 ftp 子命令。要連接遠(yuǎn)程主機(jī),請執(zhí)行 open 子命令。 當(dāng) ftp 命令連接到遠(yuǎn)程主機(jī)時,ftp 命令在再次顯示提示符 ftp> 之前會提示輸入登錄名和密碼。如果遠(yuǎn)程主機(jī)中未定義登錄名的密碼,ftp 命令將不成功。
FTP協(xié)議命令解釋器(處理在 ftp> 提示符處輸入的全部子命令),會提供大多數(shù)文件傳送程序沒有的性能,如:
◆對 ftp 子命令處理文件名參數(shù)
◆將一組子命令集中成一個單一的子命令宏
◆從 $HOME/.netrc 文件中裝入宏
這些性能會幫助您簡化重復(fù)的任務(wù),并允許您在 unattended 方式使用 ftp 命令。
命令解釋器將按照下列規(guī)則處理文件名參數(shù):
◆如果為此參數(shù)指定了 -(連字符),則標(biāo)準(zhǔn)輸入 (stdin) 將用于讀取操作,而標(biāo)準(zhǔn)輸出用于寫入操作。
◆如果未應(yīng)用前面的檢查,且文件名擴(kuò)展已啟用(請參考 -g 標(biāo)志或 glob 子命令),則解釋器將根據(jù) C shell 的規(guī)則擴(kuò)展文件名。啟用了文件名匹配替換以及在期待單一文件名的子命令中使用了模式匹配字符時,結(jié)果可能與期待的不一樣。
例如,append 和 put 子命令將拓展文件名,然后僅使用所生成***個文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不會執(zhí)行文件名拓展,并從字面上接受模式匹配字符。
◆對于 get、put、mget 和 mput 子命令,解釋器有能力在不同的本地和遠(yuǎn)程文件名語法樣式之間進(jìn)行翻譯和映射(請參考 case、ntrans 和 nmap 子命令),并且在本地文件名不是***的情況下有修改它的能力(請參考 runique 子命令)。另外,如果遠(yuǎn)程文件名不是***的,則 ftp 命令可將指令發(fā)送到遠(yuǎn)程 ftpd 服務(wù)器,以修改遠(yuǎn)程的文件名(請參考 sunique 子命令)。
◆使用雙引號 (" ") 指定包含空字符的參數(shù)。
請注意:FTP協(xié)議命令解釋器不支持管道。也無需支持所有多字節(jié)字符文件名。
要在互動地運(yùn)行的時候結(jié)束 ftp 會話,請使用 quit 或 bye 子命令或 ftp> 提示符處的End of File (Ctrl-D) 按鍵順序。要在文件傳送未完成之前結(jié)束它,請按中斷按鍵順序。其缺省“中斷鍵”序列是 Ctrl-C。stty 指令能用于重新定義該鍵系列。
ftp 命令在正常情況下會立即暫停正在發(fā)送(從本地主機(jī)到遠(yuǎn)端主機(jī))的傳輸。ftp 命令通過將 FTPABOR 指令發(fā)送到遠(yuǎn)程 FTP服務(wù)器,來暫停正在接收的傳輸(從遠(yuǎn)程主機(jī)到本地主機(jī)),并廢棄所有傳入的文件傳送包(直到遠(yuǎn)程服務(wù)器停止發(fā)送它們?yōu)橹梗?。如果遠(yuǎn)程服務(wù)器不支持 ABOR 指令,在遠(yuǎn)程服務(wù)器未發(fā)送所有請求的文件之前,ftp 命令不會顯示 ftp> 提示符。另外,如果遠(yuǎn)程服務(wù)器執(zhí)行未期望的操作時,可能需要結(jié)束本地 ftp 進(jìn)程。