Ftp命令和返回值

2021-06-01 06:24:40 字數 1864 閱讀 4202

一、關於ftp協議:

ftp協議可通過rpc959的介紹了解。

二、ftp命令:

也許很多人都用過ftp命令,但是可能也有許多人和我曾經犯一樣的錯誤,錯認了ftp命令。我原來在win2000的控制台下打上ftp,然後進入了ftp提示符下,接著我用上了許多符有「windows」特色的命令,如「dir」,「cd」,看到它按照自己的想法在執行,以為自己便掌握了ftp命令了。我非常有信心的開啟程式設計工具,寫乙個socket,然後向ftp伺服器連線了。當然,伺服器返回了資訊提示是連線成功了,我便開始傳送剛才用過的一些命令,可返回的資訊大多都是「500 'xx': command not understood」。最後,我傳送了help命令,返回的結果讓我驚異不已,裡面的命令大多我都沒用過。原來這些才是真正的ftp命令。windows裡面的只是ftp的客戶端工具,裡面的命令根本不是ftp命令。網上有許多資料裡也是把windows裡ftp客戶端的命令和ftp命令混在一起。真正的ftp命令應參考rfc959文件中的說明(其實一些ftp工具如cuteftp裡也把命令顯示出來)。其中經常被使用的命令包括如下:

帶有星號的命令一般很少使用,所以往往在具體實現中不支援。

abor 放棄傳輸

*acct 某些系統將帳號和使用者與檔案系統相關聯

*allo 為即將傳送的檔案分配空間。後面攜帶的引數來確定位元組數

cdup 在遠端系統上將當前目錄切換到上級父目錄

cwd 改變遠端系統的工作目錄

dele 刪除遠端系統的檔案

help 讀取伺服器的幫助資訊,如:支援的命令的列表

list 在乙個新建立的資料連線上傳送當前工作目錄下的檔名列表

mkd 建立目錄

mode 指定傳輸模式,可攜帶的引數是:s、b或 c.

nlst 在乙個新建立的資料連線上傳送乙個當前目錄下的「完全」的目錄列表

noop 空操作,防止連線斷掉

pass 提供乙個使用者登入密碼,必須立即跟隨在user命令後

*pasv 指定伺服器資料傳輸過程監聽等待客戶端的資料連線連線建立請求

port 指定客戶端監聽等待伺服器端建立的連線的埠號

pwd 顯示伺服器端的當前工作目錄名

quit 退出登入並終止連線

*rein 重新初始化,退出登入但是並不斷開連線,後面必須隨後發出乙個新的user命令

*rest 從伺服器的乙個標識處重新開始傳輸

rmd 刪除乙個目錄

*rnfr 指定要被命名的檔案的老的路徑名,隨後必須是乙個rnto命令

*rnto 指定要被命名的檔案的新的路徑名

*site 站點特有的伺服器提供的服務

size〈filename〉:檔案大小,執行成功返回213;

*smnt 結構載入,提供乙個檔案系統結構的遠端系統路徑名

*stat 狀態資訊

stor 上載乙個檔案到伺服器上,若檔案已經存在則覆蓋

*stou 上載乙個檔案到伺服器上,不覆蓋已經存在的檔案

stru 指定檔案結構,引數可以是f、r或p.

*syst 報告遠端系統的作業系統型別

type 指定檔案型別,引數可以是a、e、i、l只有type a和type i常用

三、ftp命令的返回值:

125 data connection already open; transfer starting.

226 transfer complete.

227 entering passive mode (127,0,0,1,4,18).

230 user ***xx logged in.

331 password required for ***xx.

425 can』t open data connection.

226 closing data connection.

命令返回值

在powershell下,上一條命令的返回值通過 lastexitcode 得出,如xcopy,robocopy等的返回值。在cmd下,上一條命令的返回值通過 errorlevel 得出 xcopy 的退出碼 0 檔案複製沒有錯誤。1 沒有找到要複製的檔案。2 使用者按 ctrl c 終止了 xco...

FTP返回值含義表

ftp返回值含義表 110 重新啟動標記應答。120 服務在多久時間內ready。125 資料鏈路埠開啟,準備傳送。150 檔案狀態正常,開啟資料連線埠。200 命令執行成功。202 命令執行失敗。211 系統狀態或是系統求助響應。212 目錄的狀態。213 檔案的狀態。214 求助的訊息。215 ...

有返回值和無返回值函式

前面在定義函式時,有些函式使用了return語句,有些函式沒有使用return語句,使用return語句與不使用return語句有什麼區別呢?由前面的章節我們知道,若定義函式時沒有使用return語句,則預設返回乙個none。要返回乙個none,可以只寫乙個return,但要返回具體的數值,就需要在...