歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> NT和UNIX下FTP非交互方式文件傳輸

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

日期:2017/3/3 15:25:55   编辑:Unix基礎知識

FTP(File Transfer Protocol)是文件傳輸協議,通過它可以從計算機傳輸或傳輸到計算機文件。FTP命令可以交互方式使用,也可以非交互方式使用。交互方式的使用較簡單,命令執行時系統會逐步提示,非交互方式的實現雖然復雜,但大大方便使用者,因為FTP會自動完成所有的操作。我們在使用FTP命令時,為了操作方便,往往會按非交互方式使用,在WindowsNT3.51和SCOUNIX3.0下FTP實現非交互方式的處理不一樣,下面筆者就分別介紹。

無論在WindowsNT3.51還是在UNIX系統下,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為遠程主機的主機名,當然也可以將DZSERVER寫為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