歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> UNIX和WindowsNT下FTP非交互方式文件傳輸方法

UNIX和WindowsNT下FTP非交互方式文件傳輸方法

日期:2017/2/27 11:51:58   编辑:Linux文化

  FTP(FileTransferProtocol)是文件傳輸協議,通過它可以從計算機傳輸或傳輸到計算機文件。FTP命令可以交互方式使用,也可以非交互方式使用。交互方式的使用較簡單,命令執行時系統會逐步提示,非交互方式的實現雖然復雜,但大大方便使用者,因為FTP會自動完成所有的操作。我們在使用FTP命令時,為了操作方便,往往會按非交互方式使用,在WindowsNT3.51和SCOUNIX3.0下FTP實現非交互方式的處理不一樣,下面筆者就分別介紹。   無論在WindowsNT3.51還是在UNIX系統下,FTP命令只能在安裝了TCP/IP協議之後才能運行。關於如何在兩種系統上安裝TCP/IP協議,請參考其系統說明書,這裡不再說明。FTP命令執行過程一般分為下面幾個步驟,首先是設置聯接,聯接就是和遠程主機進行聯接,聯接後,用戶開始注冊,用戶注冊時要檢查其口令,注冊成功後,用戶就可以訪問遠程主機。

  一、在WindowsNT3.51環境下使用FTP。   在WindowsNT下,FTP命令格式為:   FTP[-v][-d][-i][-n][-g][-s:filename][host]   除最後一項參數外其它均必須為小寫,其意義分別為:   -v不顯示遠程服務器響應。   -n禁止初次連接時自動登錄。   -i在多個文件傳輸時關閉交互提示。   -d允許調試、顯示客戶和服務器之間所有的命令。   -g不允許使用文件名通配符,文件名通配符是指允許在本地文件及路徑名中使用匹配字符。   -s:filename指定一個包含ftp命令的文本文件;在啟動ftp之後將自動運行這些命令,該參數中沒有空格。使用本開關可以替代重定向。   host指定要連接的遠程主機的主機名或IP地址。如果要指定主機,必須是命令行中的最後一個參數。   如果想實現非交互方式傳輸文件,則可以使用文本編輯軟件編輯一文本文件FTP.TXT,其內容首先是遠程主機的用戶名,接著是用戶的口令,再就是一些FTP命令,注意所有的FTP命令均為小寫,否則FTP認為是無效的命令,例如:   lzf(遠程主機的用戶名)   lzf12345(遠程主機用戶的口令)   binary(以二制方式,可以照原樣傳輸來自其它系統的字符)   hash(每當傳輸了512字節的數據時打印出一個“#”字符。在傳輸大型文件或有一個較慢的連接時這個命令很有用,它可以使用戶了解事情的進展情況)   getPROFILEAAAA(取文件.PROFILE,並且改名為AAAA)   bell(響鈴)   close(斷開連接)   bye(退出FTP命令)

  在命令提示符下運行“FTP-s:FTP.TXTDZSERVER”命令即可自動實現文件傳輸,其中FTP.TXT文件必須在當前目錄下或為此文件加上全路徑名,DZSERVER為遠程主機的主機名,當然也可以將DZSERVER寫為IP地址的方式,例如“FTP-s:FTP.TXT200.28.1.1”。

  二、在UNIX環境下使用FTP。   在UNIX系統下,使用RCP命令可以實現遠程文件傳輸,但雙方都必須為同一種系統,如果遠程為其它系統,則RCP就無能為力了。使用FTP命令不但可以實現非交互方式傳輸方件,而且在雙方使用不同系統時也能使用。UNIX下的FTP命令的使用與WindowsNT有所區別,通過UNIX的幫助系統可以知道,FTP命令格式為:   ftp[-v][-d][-i][-n][-t][-g][host]   從命令格式中可以看出,其命令參數基本和在WindowsNT系統下差不多,但是沒有[-s:FILENAME]參數,也就是說,不能通過編輯一任意文本文件來實現非交互方式傳輸文件,不過值得高興的是,ftp命令在執行時會去尋找一文件名為.netrc的文件,如果此文件存在並且其中有FTP命令行中指定的主機名,則會執行.netrc文件中命令行。.netrc文件中放有遠程主機名、注冊用戶名、用戶口令和定義的宏,其格式如下:   machine主機名   login用戶名   password用戶口令   macdefinit(定義宏)   binary   hash   get遠程主機文件名本地文件名   bell   close   bye

  在命令提示符下運行“ftp主機名”命令即可自動實現文件的傳輸。另外在UNIX下使用FTP命令應注意下面的事項。   1、在.netrc文件中,如果使用password命令,其用戶口令在文件中沒有被加密,所以必須對.netrc文件設置權限,可以在命令提示符下使用“chmod0600.netrc”命令設置權限,即只有其文件主有讀寫權限,而其組成員及其它用戶均不可有任何權限,否則password命令無效,導致注冊過程中斷。   2、在.netrc文件中,如果使用macdefinit命令,則在其下一行可以輸入FTP命令,系統會自動執行這些命令且直到遇到一空行,也就是說在文件尾必須有至少一行空行,否則會出現錯誤信息“Macro definition missing null line terminator”。   3、如果在UNIX系統下使用超級用戶注冊,則.netrc文件必須放在根目錄下,如果使用一般用戶注冊,則.netrc文件必須放在“/usr/用戶名”目錄下。   4、在UNIX系統下所有命令均為小寫,包括FTP命令

Copyright © Linux教程網 All Rights Reserved