當前位置:首頁 » 文件傳輸 » ftp請求控制字
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

ftp請求控制字

發布時間: 2022-07-12 10:08:48

① 急求!ftp命令的全部命令集合

61sendport
說明:設置PORT命令的使用。
62)site arg1,arg2
說明:將參數作為SITE命令逐字發送至遠程ftp主機。
63)size file-name
說明:顯示遠程主機文件大小。
如site idle 7200。
64)status
說明:顯示當前ftp狀態。
65)struct[struct-name]
說明:將文件傳輸結構設置為struct-name,預設時使用 stream結構。
66)sunique
說明:將遠程主機文件名存儲設置為唯一(與runique對應)。
67)system
說明:顯示遠程主機的作系統類型。
68)tenex
說明:將文件傳輸類型設置為TENEX機所需的類型。
69)tick
說明:設置傳輸時的位元組計數器。
70)trace
說明:轉換報文跟蹤,運行ftp的命令時,trace將顯示沒個報文的理由。
71)type
說明:設置或顯示文件傳輸類型.
如type [type-name]其中type-name 的意思是文件傳輸的類型,默認是ASCII,沒加這個參數就是顯示當前的傳輸類型.
72umask[newmask]
說明:將遠程伺服器的預設umask設置為newmask,如umask 3。
73)user
說明:指定連接到遠程計算機的用戶.
如user user-name [passwd] [account]其中user-name不用說都是用來登陸計算機的用戶名了,passwd是指定user-name的密碼,不指定的話ftp會提示輸入密碼。account是指定用來登陸計算機的帳號,如不指定,ftp會提示輸入帳號.
74)verbose
說明:轉換冗餘模式,這里如果打開,會顯示所有ftp響應,文件傳輸結束的時候會顯示傳輸的效率和統計信息,默認的情況是打開的。

② FTP的具體定義

文件傳輸協議(File Transfer Protocol, FTP)FTP是用於在網路上進行文件傳輸的一套標准協議。它屬於網路協議組的應用層。

FTP是一個8位的客戶端-伺服器協議,能操作任何類型的文件而不需要進一步處理,就像MIME或Unencode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,並且不時的必需執行一些冗長的登陸進程。

概述
FTP服務一般運行在20和21兩個埠。埠20用於在客戶端和伺服器之間傳輸數據流,而埠21用於傳輸控制流,並且是命令通向ftp伺服器的進口。當數據通過數據流傳輸時,控制流處於空閑狀態。而當控制流空閑很長時間後,客戶端的防火牆會將其會話置為超時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火牆斷開,傳輸會產生一些錯誤。

FTP實現的目標:

促進文件的共享(計算機程序或數據)
鼓勵間接或者隱式的使用遠程計算機
向用戶屏蔽不同主機中各種文件存儲系統的細節
可靠和高效的傳輸數據
缺點:

密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽。
因為必需開放一個隨機的埠以建立連接,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題通過使用被動模式的FTP得到了很大解決。
伺服器可能會被告知連接一個第三方計算機的保留埠。
FTP雖然可以被終端用戶直接使用,但是它是設計成被FTP客戶端程序所控制。

運行FTP服務的許多站點都開放匿名服務,在這種設置下,用戶不需要帳號就可以登錄伺服器,默認情況下,匿名用戶的用戶名是:「anonymous」。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這只是一些細節或者此郵件地址根本不被確定,而是依賴於FTP伺服器的配置情況。

③ ftp的解讀

、什麼是FTP:文件傳輸協議原理

互聯網文件傳輸協議(File Transfer Protocol ,FTP) 標準是在RFC959說明的。該協議定義了一個從遠程計算機系統和本地計算機系統之間傳輸文件的一個標准。一般來說,傳輸文件的用戶需要先經過認證以後才能登錄網站,然後方能訪問在遠程伺服器的文件。而大多數的FTP伺服器往往提供一個GUEST的公共帳戶來允許沒有遠程伺服器的用戶可以訪問該FTP伺服器。

一個FTP會話通常包括五個軟體元素的交互。

用戶介面 提供了一個用戶介面並使用客戶端協議解釋器的服務
客戶 PI 客戶協議解釋器,其項遠程伺服器協議機發送命令並且驅動客戶數據傳輸過程
伺服器PI 伺服器協議解釋器,響應客戶協議機發出的命令並驅動伺服器端數據傳輸過程
客戶 DTP 客戶數據傳輸過程,其負責完成和伺服器數據傳輸過程及客戶端本地文件系統的通信
服務DTP 伺服器數據傳輸過程,其負責完成和客戶數據傳輸過程及伺服器端文件系統的通信

在RFC 959中,一般使用用戶這個名詞來指代客戶。RFC 959定義了客戶PI和伺服器PI交互的方式和規范。用戶介面與PI和DTP交互的機理都並不是協議標準的一部分。PI和DTP往往通常是在同一個程序模塊中實現的。

在FTP會話中,一共會存在有兩個獨立的網路連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱做數據連接(data connection)

使用TCP服務的控制和數據連接

通常情況下,FTO伺服器監聽埠號21來等待控制連接建立請求。而數據連接埠號的選擇依賴於控制連接上命令。通常是客戶發送一個控制消息來指定客戶監聽並等待伺服器端發送數據連接建立請求的埠號。

對數據傳輸和控制命令傳輸來使用不同的獨立連接有如下優點:兩個連接可以選擇不同的合適服務質量,如:對控制連接來說高需要更小的延遲時間,對數據連接來說需要更大的數據吞吐量;而且可以避免實現數據流中的命令的通明性及逃逸。

當傳輸建立時,總是由客戶端首先發起。然而客戶和伺服器都可能是數據發送者。除了傳輸用戶請求下載文件,數據傳輸過程同樣在客戶端請求列伺服器端目錄結構時建立。

1.命令選擇

當一個傳輸建立時,一般通常需要指定四個方面的屬性:

文件類型
該屬性指定如何將文件的數據匹配成適於傳輸的格式,一共有四種可能的選擇:

ASCII文件類型
在發送端,文件從本地文本文件格式轉換為 NVT ASCII格式,每行結束有一個CR/LF對來標識。 在接收端,再被轉換為本地的文本格式。

這說明了為什麼Unix主機之間傳輸文本文件為何傳輸的數據量要大於文件的實際大小。若傳輸一段端或傳輸兩端都不使用ASCII文本編碼,則是應該由數據傳輸過程來實現本地編碼和NVT ASCII 編碼之間的轉換。

EBCDIC文件類型
類似於ASCII,區別僅僅上使用EBCDIC字元編碼

圖象 (或二進制)文件類型
文件以本地傳輸內容傳輸,在遠端以同本地完全相同的內容存儲。

本地文件系統
用在位元組大小不是8位的環境下。沒位元組位數由發送者指定。

在實際應用中,只有ASCII和圖象格式使用的較多。

格式控制
該屬性是和將文本文件最後傳送到列印設備相關的,其中有多種方式來實現將垂直格式信息編碼到文件中,包括指示一個新頁開始的方式。有如下方式可供選擇:

無須列印格式控制,這是預設值
Telnet列印控制,在telnet協議中定義的控制字元包含在數據流中。.
Fortran列印控制,
該屬性在實際中很少使用。

結構
文件可以擁有內部結構,在傳輸中該結構被保留。由數據傳輸過程來負責在傳輸中的結構及本地結構之間相互匹配,有三種可能性:

文件結構
這實際上意味著文件被看作沒有內部結構的連續的位元組流。

記錄結構
文件是有一系列記錄組成的結構。這只適用於文本文件。

頁面結構
也可以稱做塊結構。每一頁都伴隨一個頁號來傳輸,從而以順序的方式來完成傳輸。

頁面結構很少在實際中遇到。記錄結構也不是很常見。對於文本文件使用ASCII文件類型可以獲得相同的效果。

傳輸模式
該屬性可以取三個不同的值:

流模式
文件的以位元組流的方式傳輸。

塊模式
文件以一個塊連接一個塊的方式傳輸,每個塊的開頭都有一個頭。

壓縮模式
一個簡單的運程長度壓縮編碼被應用,來壓縮連續的相同的位元組。

實際中,一般只有流模式被使用。而壓縮一般通過使用各種其他的工具程序來獲得。

當一次傳輸被建立,客戶端一般指定一個或多個前面說明的屬性。若伺服器端不能支持某個選項,伺服器將用一個錯誤信息來響應客戶端,並不具有協商機制。

FTP提供了充足的命令來使用戶和遠程建立連接並訪問遠程文件系統。

2.命令格式

命令以NVT ASCII串的格式被傳輸。每個命令以三個或四個大寫的NVT ASCII字元開始,後面帶有選項參數和一個CR/LF對來標識命令結束

應答由三個NVT ASCII數字及一個選項消息組成。

一個長的應答也許會有多個消息組成,第一個消息的三個數字後帶有一個破折號,最後的消息不帶有破折號。中間的消息無須攜帶三個數字,但是如果帶了三個數字,則也需要破折號。

下面是所有的命令的列表。帶有星號的命令一般很少使用,所以往往在具體實現中不支持。

String Meaning
ABOR 放棄傳輸
*ACCT 某些系統將帳號和用戶與文件系統相關聯
*ALLO 為即將傳送的文件分配空間。後面攜帶的參數來確定位元組數
*APPE 將文件附加到已經存在的文件後面
CDUP 在遠程系統上將當前目錄切換到上級父目錄
CWD 改變遠程系統的工作目錄
DELE 刪除遠程系統的文件
HELP 讀取伺服器的幫助信息,如:支持的命令的列表
LIST 在一個新建立的數據連接上發送當前工作目錄下的文件名列表
MKD 創建目錄
MODE 指定傳輸模式,可攜帶的參數是:S、B或 C.
NLST 在一個新建立的數據連接上發送一個當前目錄下的「完全」的目錄列表
NOOP 空操作,防止連接斷掉
PASS 提供一個用戶登錄密碼,必須立即跟隨在USER命令後
*PASV 指定伺服器數據傳輸過程監聽等待客戶端的數據連接連接建立請求
PORT 指定客戶端監聽等待伺服器端建立的連接的埠號
PWD 顯示伺服器端的當前工作目錄名
QUIT 退出登錄並終止連接
*REIN 重新初始化,退出登錄但是並不斷開連接,後面必須隨後發出一個新的USER命令
*REST 從伺服器的一個標識處重新開始傳輸
RETR 從遠程系統取回一個文件
RMD 刪除一個目錄
*RNFR 指定要被命名的文件的老的路徑名,隨後必須是一個RNTO命令
*RNTO 指定要被命名的文件的新的路徑名
*SITE 站點特有的伺服器提供的服務
*SMNT 結構載入,提供一個文件系統結構的遠程系統路徑名
*STAT 狀態信息
STOR 上載一個文件到伺服器上,若文件已經存在則覆蓋
*STOU 上載一個文件到伺服器上,不覆蓋已經存在的文件
STRU 指定文件結構,參數可以是F、R或P.
*SYST 報告遠程系統的操作系統類型
TYPE 指定文件類型,參數可以是A、E、I、L只有TYPE A和TYPE I常用

控制連接命令應答有如下形式:

Type Description
1yz 主動初步應答,在發送另一個命令以前等待另一個應答
2yz 主動最後應答,最後一個命令成功結束
3yz 主動中間應答,必須再發送一個命令
4yz 暫時被動應答,要求的動作當時不能完成,但可以重試
5yz 永久被動應答,要求的動作不能完成,不應該重試

"y"數字編碼進一步的信息

Digit Meaning
0 語法錯誤
1 信息
2 連接狀態
3 認證和記帳
4 保留
5 File s文件系統狀態

下面是一些典型的消息:

Number Meaning
125 數據連接打開,傳輸開始
200 命令OK
331 用戶名OK 需要輸入密碼
425 不能打開數據連接
452 錯誤寫文件
500 語法錯誤-不可識別的命

具體的詳細情況可以參見RFC

④ FTP詳解知道請進

文件傳輸協議
[編輯本段]
FTP(File Transfer Protocol),是文件傳輸協議的簡稱。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問伺服器上的大量程序和信息。

FTP(File Transfer Protocol)

FTP的作用
[編輯本段]

正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。

FTP工作原理
[編輯本段]

拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。

簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議。(文件傳輸協議)

一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。

在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。

使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。

匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。

通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。

值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。

當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。

作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。

匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。

Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是 Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。

通過ftp傳輸文件的一般步驟
[編輯本段]

1.在本地電腦上登陸到國際互聯網.

2.搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).

3.當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.

4.在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東).

5.完成工作後關閉FTP下載軟體,切斷連接.

為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,FlashFxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如LeapFTP總歸各有各的特色.
FTP協議

TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet,你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到 Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

⑤ FTP是什麼

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。

其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。



(5)ftp請求控制字擴展閱讀:

同大多數Internet服務一樣,FTP也是一個客戶/伺服器系統。用戶通過一個客戶機程序連接至在遠程計算機上運行的伺服器程序。依照 FTP 協議提供服務,進行文件傳送的計算機就是 FTP伺服器,而連接FTP伺服器,遵循FTP協議與伺服器傳送文件的電腦就是FTP客戶端。

用戶要連上FTP 伺服器,就要用到 FTP 的客戶端軟體,通常 Windows自帶「ftp」命令,這是一個命令行的 FTP客戶程序,另外常用的 FTP 客戶程序還有FileZilla、 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-貓眼等。

⑥ FTP常用命令有哪些

FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用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.cp:進入遠程主機目錄的父目錄。

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]:顯示遠程主機目錄,並將結果存入本地文件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]]:設置文件名字元的翻譯機制,如ntrans 1R,則文件名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。

⑦ FTP的常用命令和使用方法

FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。下面以Win9x的DOS窗口中的FTP命令為例,介紹一下其用法。(本站註:若想在純DOS下使用FTP命令,則需先載入網路設備如網卡或數據機的Packet驅動程序,再使用本站「網路工具」中的Wattcp FTP程序,其用法與下面介紹的類似,詳情請見本站的「DOS使用」欄目)

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.cp:進入遠程主機目錄的父目錄。
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]:顯示遠程主機目錄,並將結果存入本地文件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.

⑧ 簡述FTP的工作原理

FTP的工作原理:FTP 採用 Internet 標准文件傳輸協議 FTP 的用戶界面, 向用戶提供了一組用來管理計算機之間文件傳輸的應用程序。

開發任何基於 FTP 的客戶端軟體都必須遵循 FTP 的工作原理,FTP 的獨特的優勢同時也是與其它客戶伺服器程序最大的不同點就在於它在兩台通信的主機之間使用了兩條 TCP 連接,一條是數據連接,用於數據傳送;

另一條是控制連接,用於傳送控制信息(命令和響應),這種將命令和數據分開傳送的思想大大提高了 FTP 的效率,而其它客戶伺服器應用程序只有一條 TCP 連接。

(8)ftp請求控制字擴展閱讀:

FTP 的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。它能操作任何類型的文件而不需要進一步處理,就像MIME或Unicode一樣。

但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間,會非常長;並且不時的必須執行一些冗長的登錄進程。

FTP 在網際網路網路上歷史是最悠久的網路工具,從 1971 年由 A KBHUSHAN 提出第一個 FTP 的RFC(RFC114),FTP 憑借其獨特的優勢一直都是網際網路中最重要、最廣泛的服務之一。

⑨ FTP使用詳解

1.什麼是FTP(文件傳輸協議)
FILE TRANSFERPROTOCOL(FTP)意為文件傳輸協議,用於管理計算機之間的文件傳送。FTP通常指文件傳輸服務。
FTP是Internet上使用非常廣泛的一種通訊協議。它是由支持Internet文件傳輸的各種規則所組成的集合,這些規則使 Internet用戶可以把文件從一個主機拷貝到另一個主機上,因而為用戶提供了極大的方便和收益。FTP通常也表示用戶執行這個協議所使用的應用程序(例如:凱屋「上當「),從而獲取所需的信息資料。
FTP和其它 Internet服務一樣,也是採用客戶機/伺服器方式。使用方法很簡單,啟動FTP客戶端程序先與遠程主機建立連接,然後向遠程主機發出傳輸命令,遠程主機在收到命令後就給予響應,並執行正確的命令。FTP有一個根本的限制,那就是,如果用戶未被某一FTP主機授權,就不能訪問該主機,實際上是用戶不能遠程登錄(Remote Login)進入該主機。也就是說,如果用戶在某個主機上沒有注冊獲得授權,沒有用戶名和口令,就不能與該主機進行文件的傳輸。而AnonymousFTP(匿名FTP)則取消了這種限制。

2.什麼是Anonymous FTP(匿名文件傳輸)
Anonymous(匿名文件傳輸)能夠使用戶與遠程主機建立連接並以匿名身份從遠程主機上拷貝文件,而不必是該遠程主機的注冊用戶。用戶使用特殊的用戶名「Anonymous」和「guest」就可有限制地訪問遠程主機上公開的文件。現在許多系統要求用戶將Emai1地址作為口令,以便更好地對訪問進行跟綜。出於安全的目的,大部分匿名FTP主機一般只允許遠程用戶下載(download)文件,而不允許上傳 (upload)文件。也就是說,用戶只能從匿名FTP主機拷貝需要的文件而不能把文件拷貝到匿名FTP主機。另外,匿名FTP主機還採用了其他一些保護措施以保護自己的文件不至於被用戶修改和刪除,並防止計算機病毒的侵入。在具有圖形用戶界面的WorldWide Web環境於1995年開始普及以前,匿名FTP一直是Internet上獲取信息資源的最主要方式,在Internet成千上萬的匿名PTP主機中存儲著無以計數的文件,這些文件包含了各種各樣的信息,數據和軟體。人們只要知道特定信息資源的主機地址,就可以用匿名FTP登但是匿名FTP仍是 Internet上傳輸分發軟體的一種基本方法。

3.什麼是Remote Login(遠程登錄)
Remote Login(遠程登錄)指用戶通過Internet登錄到遠程主機上。在這種連接建立之後,用戶所在的計算就可以作為遠程主機的終端一樣使用。 Internet上遠程登錄的主要方式是Telnet,匿名FTP也需要首先經過遠程登錄才能進行文件傳輸。

4.什麼是Upload(上傳)
Upload(上傳)指把數據從本地計算機傳到遠程主機上,因此受到嚴格的管理和控制,但Upload是提交用戶信息和要求以實現遠程交互應用的基礎。

5.何為FTP連接
進行FTP連接首先要給出目的FTP伺服器的名稱或地址,當連接到FTP伺服器後,一般要進行登錄,在檢驗用戶ID號和口令後,連接才得以建立,某些系統也允許用戶進行匿名登錄。與在所有的多用戶系統中一樣,對於同一目錄或文件,不同的用戶擁有不同的許可權,所以在使用過程中,如果發現不能下載或上載某些文件時,一般是因為用戶許可權不夠。

6.FTP文件傳輸方式
FTP可用多種格式傳輸文件,通常由系統決定,大多數系統(包括UNIX系統)只有兩種模式:文本模式(ASCII)和二進制模式(BIN/IMAGE)。
文本傳輸器使用ASCII字元,並由回車鍵和換行符分開,而二進制不用轉換或格式化就可傳字元,二進制模式比文本模式更快,並且可以傳輸所有ASCII值,所以系統管理員一般將FTP設置成二進制模式。應注意在用FIP傳輸文件前,必須確保使用正確的傳輸模式,按文本模式傳二進制文件必將導致錯誤。

7.FTP的可靠性問題
FTP建立在傳輸層TCP協議之上,TCP是面向連接的協議,負責保證數據從源計算機到目的計算機的傳輸。TCP採用校驗、確認接收和超時重傳等一系列措施提供可靠的傳輸,所以在傳輸過程中FTP程序如果沒有提示錯誤,就無需擔心傳輸問題。