![]() |
|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
![]() ![]() |
|
主題工具 | 顯示模式 |
![]() |
#1 |
榮譽會員
![]() |
![]() Q:
不太明白。 不使用appe的話,似乎是stor的命令。 有何區別呢? A: 下面是一個簡單實現的FTP的狀態圖,只用到回應碼的首位。對於所有命令或命令序列有三種可能性:成功(S),失敗(F)或錯誤(E)。在狀態圖中B代表開始,W代表等待回應。下面我們給出一個總圖,總圖可以包括的命令有: ABOR,ALLO,DELE,CWD,CDUP,SMNT,HELP,MODE,NOOP,PASV,QUIT,SITE,PORT,SYST,STAT,RMD,MKD,PWD,STRU和TYPE 1,3 +-----+ --------------->| E | | +-----+ | +-----+ cmd +-----+ 2 +-----+ | B |------------> | W |------------>| S | +-----+ +-----+ +-----+ | | 4,5 +-----+ --------------->| F | +-----+ 而下圖可以包括的命令有:APPE,LIST,NLST,REIN,RETR,STOR和STOU。 3 +-----+ --------------->| E | | +-----+ | +-----+ cmd +-----+ 2 +-----+ | B |------------>| W |------------>| S | +-----+ ----> +-----+ +-----+ | | | | | | 4,5 +-----+ | | --------------->| F | | 1 | +-----+ ------- 第一幅圖和第二幅圖差別不大,第一幅圖中如果出現了100系列回應會是錯誤,而在第二幅圖中不會。下面是重命名過程: +-----+ RNFR +-----+ 1,2 +-----+ | B |------------>| W |------------->| E | +-----+ +-----+ ---->+-----+ | | | 3 | | 4,5 | ---------------- ------- | | | | +-----+ | ----------------->| S | | | 1,3 | | +-----+ | 2 | ----------- | | | | V | | | +-----+ RNTO +-----+ 4,5 --------> +-----+ | |----------> | W |-------------> | F | +-----+ +-----+ +-----+ 下面是重新啟動命令,其中cmd代表APPE,STOR或RETR。 +-----+ REST +-----+ 1,2 +-----+ | B |------------>| W |-------------> | E | +-----+ +-----+ ----> +-----+ | | | 3 | | 4,5 | ---------------- ------- | | | | +-----+ | -----------------> | S | | | 3 | | +-----+ | 2 | ----------- | | | | V | | | +-----+ cmd +-----+ 4,5 --------> +-----+ | |----------> | W |-------------> | F | +-----+ ----> +-----+ +-----+ | | | 1 | -------- 下圖代表登錄過程: 1 +-----+ USER +-----+--------------> +-----+ | B |------------> | W | 2 -----> | E | +-----+ +-----+------- | ---> +-----+ | | | | | 3 | | 4,5 | | | ------------------- ------- | | | | | | | | | | | | | | ------------ | | 1| | | | V | | | | +-----+ PASS +-----+ 2 | -------->+-----+ | |-------------> | W |-------------->| S | +-----+ +-----+ ------------>+-----+ | | | | | 3 | |4,5| | | --------------- ---------- | | | | | | | | | | | | ----------------- | 1,3| | | | V | 2 | | | +-----+ ACCT +-----+-- | ---------->+-----+ | |------> | W | 4,5 ------------>| F | +-----+ +-----+ ----------------->+-----+ APPE <檔案名> 讓伺服器準備接收一個文件並把這些資料附加到指定的文件中,如果指定的文件不 存在就新增它。伺服器會回應:125->資料連接已開啟,傳輸啟動;150->準備開啟 資料連接;226->關閉資料連接,操作已成功;250->已完成;421->服務不可用; 425->無法開啟資料連接;450、532、550、553->無法執行。 STOR <檔案名> ;讓伺服器接收來自資料連接的文件,回應同APPE。 FTP服務命令定義用戶請求的文件傳輸或文件系統功能。此命令的參數通常是路徑名,其語法要和伺服器的規範一致。推薦的預設值是最近指定 的設備目錄或目錄。命令順序通常沒有限制,只有"rename from"命令後面必須是"rename to",重新啟動命令後面必須是中斷服務命令。服務命 令的回應通常在資料連接上傳輸。下面是具體的命令: 獲得文件(RETR) 此命令使伺服器DTP傳送指定路徑內的文件復本到伺服器或用戶DTP。這邊伺服器上文件的狀態和內容不受影響。 儲存(STOR) 此命令使伺服器DTP接收資料連接上傳送過來的資料,並將資料儲存在伺服器的文件中。如果文件已存在,原文件將被覆蓋。如果文件不存在, 則新增文件。 唯一儲存(STOU) 此命令和STOR差不多,此命令要求在此目錄下的檔案名是唯一的,對此命令的回應必須包括產生的用戶名。 附加(APPE) 它和STOR的功能差不多,但是如果文件在指定路徑內已存在,則把資料附加到原文件尾部,如果不存在則新增文件。 分配(ALLO) 此命令用於在一些主機上為新傳送的文件分配足夠的存儲空間。參數是十進制的邏輯字元數。如果是記錄或頁結構,頁或記錄的最大大小也需要 ,這在第二個參數內以十進制指定。第二個參數是可選的,如果有它,它和第一個參數以Telnet字串 R 分隔。此命令在STOR或APPE命令後,對 於不需要分配存儲空間的機器,它的作用等於NOOP。 重新開始(REST) 參數域代表伺服器要重新開始的那一點,此命令並不傳送文件,而是略過指定點後的資料,此命令後應該跟其它要求文件傳輸的FTP命令。 重命名(RNFR) 這個命令和我們在其它操作系統中使用的一樣,只不過後面要跟"rename to"指定新的檔案名。 重命名為(RNTO) 此命令和上面的命令共同完成對文件的重命名。 放棄(ABOR) 此命令通知服務中止以前的FTP命令和與之相關的資料傳送。如果先前的操作已經完成,則沒有動作,返回226。如果沒有完成,返回426,然後 再返回226。關閉控制連接,資料連接不關閉。 刪除(DELE) 此命令刪除指定路徑下的文件。用戶工作負責對刪除的提示。 刪除目錄(RMD) 此命令刪除目錄。 新增目錄(MKD) 此命令在指定路徑下新增新目錄。 列印工作目錄(PWD) 在回應是返回當前工作目錄。 列表(LIST) 伺服器傳送列表到被動DTP,如果路徑指定一個目錄或許多文件,返回指定路徑下的文件列表。如果路徑名指定一個文件,伺服器返回文件的當 前信息,參數為空表示用戶當前的工作目錄或預設目錄。資料傳輸在ASCII或EBCDIC下進行,用戶必須確認這一點。因為文件信息因系統不同而 不同,所以不可能被程序自動利用,但是人類用戶卻很需要。 名字列表(NLST) 伺服器傳送目錄表名到用戶,路徑名應指定目錄或其它系統指定的文件群描述子;空參數指當前目錄。伺服器返回檔案名資料流,以ASCII或 EBCDIC形式傳送,並以或分隔。這裡返回的信息有時可以供程序進行進一步處理。 站點參數(SITE) 伺服器用來提供伺服器系統資訊,信息因系統不同而不同,格式在HELP SITE命令回應中給出。 系統(SYST) 用於確定伺服器上執行的操作系統。 狀態(STAT) 此命令返回控制連接狀態,它可以在文件傳送過程中發送,伺服器返回操作進行的狀態。也可以在文件傳送之間發送,這時命令有參數,參數是 路徑名,此命令的功能除了資料在控制連接上傳送以外和列表命令相似。如果指定部分路徑,伺服器以檔案名或與說明相關的屬性返回;如沒有 參數,伺服器返回伺服器FTP工作的狀態信息,包括傳輸參數的當前值和連接狀態。 幫助(HELP) 這條命令我們在平常系統中得到的幫助沒有什麼區別,回應類型是211或214。建議在使用USER命令前使用此命令。 等待(NOOP) 此命令不產生什麼實際動作,它僅使伺服器返回OK。 |
![]() |
送花文章: 3,
![]() |