ftp简单使用命令

时间:2024-04-13 15:12:07

FTP协议采用一系列简单的协议来完成文件传输的各种任务,在发送命令的时候,总是在命令的最后加上一个回车换行符,

ip/tcp协议之FTP:文件传送协议.章节不用看,废话一大堆,直接搜ftp原理。

FTP命令集英文:http://www.nsftools.com/tips/RawFTP.htm

转载http://blog.****.net/weiyuefei/article/details/51758288  weiyuefei

http://www.cnblogs.com/adolphyang/p/5280255.html   AdolphYang

比如下载文件:则可能使用功能命令:USER PASS   PASV   CWD  SIZE   RETR

windows、linux都可以配置ftp功能。ftp软件、工具,服务端。客户端,应有尽有。源码,github上质量比较好。

第三方测试使用工具ftpserver.exe。

ftp简单使用命令

1.  PASSPassword,密码)命令

说明:向远程系统发送用户的密码,该命令在USER命令后使用。

用法:PASS<Password><CRLF>

参数:Password是由USER命令指定的已注册用户密码。

例子:

SendData "PASS mypassworD" + /r/n

注释:在连接到一台FTP服务器的端口21并接收到一个由代码220打头的行,表示服务器已准备好你向它发USERPASS命令,以登录进此FTP服务器之后,紧跟着发送USER命令。

PASS命令应该紧跟着USER命令。

如果你在此FTP服务器上有帐号,就可以指定自己的用户名和密码。如果想匿名登录,可以指定用户名为“Anonymous”,而用自己的电子邮件地址当密码。

返回值如下(粗体表示成功):

l         202  命令还没有被实现,在此站点上是多余的。

l         230  用户已登录,请继续。

l         332  登录需要帐号(请参看ACCT命令)。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         530  无法登录。

 

2.  PASVPassive,被动的)命令

说明:告诉服务器在一个非标准端口上收听数据连接。

用法:PASV<CRLF>

参数:这条命令请求server-DTP(服务器数据传送规约)“收听”某个数据端口(该端口不是它的默认数据端口),并等待一个连接而不是在收到传输命令时初始化一个连接。对这条命令的响应包括主机地址和此服务器正在收听的端口地址。

例子:

SendData "PASV" + /r/n

返回值如下(粗体表示成功):

l         227  输入被动模式(h1,h2,h3,h4,p1,p2)。

返回值包括一个在数据连接中使用的数据端口的HOST-PORT规约。此参数是一个32Internet主机地地址和一个16TCP端口地的拼接。这个地址信息被拆分为8位的字段,并且每个字段的值是作为一个十进制数传输的(在字符串意义上)。H1Internet主机地址的高位字节,p1是端口地址的高位字节。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         503  无法登录。

3.  CWDChange Working Directory,改变工作目录)命令

说明:把当前目录改为远程文件系统的指定路径,而无需改变登录、帐号信息或传输参数。

用法:CWD<Path><CRLF>

参数:Path是远程系统上的一个工作目录。

例子:

SendData "CWD/pub/cgvb/uploads"  + /r/n

返回值如下(粗体表示成功):

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

 

4.  MKDMake Directory ,创建目录)命令

说明:创建一个在路径名中指定的目录(如果是绝对路径名)或当前工作目录的子目录(如果是相对路径名)。

用法:MKD<Path><CRLF>

参数:Path是服务器端上的一个有效路径。

例子:

SendData "MKD /users/johnsmith" + /r/n

返回值如下(粗体表示成功):

l         257  PATHNAME”已创建。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识别命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

5.  PWD(Print Working Directory,打印工作目录命令

说明:在应答中返回当前工作目录的名称。

用法:PWD<CRLF>

参数:无

例子:

SendData "PWD" + /r/n

返回值如下(粗体表示成功):

l         257  PATHNAME”已创建

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         500  语法错误,无法识命令。这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         502  命令还没有被实现。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。

 

6.  RETRRetrieve,检索)命令

说明:这条命令让服务器给客户传送一份在路径名中指定的文件的副本。这不会影响该文件在服务器站点上的状态和内容。

用法:RETR<FileName><CRLF>

参数:FileName是服务器站点上一个完全合格的路径和文件名。

例子:

SendData "RETR /pub/cgvb/misc/somefile.zip" +/r/n

返回值如下(粗体表示成功):

l         110  重新启动标记应答。

在此情况下,文体是精确的,而且不会留给特定的实现处理;它必须读取:

MARK yyyy=mmmm

其中yyyy是用户进程的数据流标记,mmmm是服务器上的相应标记(请注意标记和“=”之间的空格)。

l         125  数据连接已打开,传输启动。

l         150  文件状态没问题,准备打开数据连接。

l         226  关闭数据连接,请求的文件操作已成功。

l         250  请求的文件操作正常进行,已完成。

l         421  服务不可用,关闭控制连接。

如果某项服务获知自己即将关闭,会向所有命令做出这个应答。

l         425  无法打开数据连接。

l         426  连接关闭,传输中止。

l         450  请求的文件操作无法执行,文件不可用(例如,文件正忙)。

l         451  请求的操作被中止,处理中发生本地错误。

l         500  语法错误,无法识别命令。

这其中包括命令行过长之类的错误。

l         501  参数或变元中有语法错误。

l         504  命令中还没有实现该参数。

l         530  无法登录。

l         550  请求的操作无法执行,文件不可用(例如找不到文件,无访问权)。


使用cmd命令行方式登录ftp上传下载数据


部分用户在使用ftp工具登录空间上传下载过程中经常会遇到各种问题,如主动模式,被动模式,以及其他导致无法登陆ftp 、上传数据、下载数据的问题,这时候不妨使用一下命令行方式。命令行下可以避免很多由于ftp工具配置导致的问题,而且这种方式下下载数据的速率明显比使用ftp工具更快。下面就来看一下如何使用ftp 命令进行简单的上传下载数据。
1.
登录ftp
在“开始”->”运行”中输入“cmd”,进入cmd命令行模式,接下来输入:ftp 118.193.22.151
输入自己的网站ip地址,接下来会提示输入ftp用户名:[email protected]域名 ,再输入密码,登录成功后会提示user logged in
 
2.
查看当前ftp空间下所有文件的列表
输入命令:dir 可以列出当前空间下的文件和文件夹列表和磁盘配额限制为200MB
 
3.
上传文件
D:test 文件夹下的文件1.txt 2.txt3.txt上传到 空间下的htdocs目录下。
由于当前所在目录不一定在D:test,所以先切换到D:test 下,使用命令:lcd  D:test,即可将当前工作目录切换到D:test,使用命令!dir 查看一下当前D:test 下有哪些文件,可以看到有1.txt 2.txt3.txt;输入命令pwd,查看当前所在的ftp目录,如果不在htdocs下,需要使用命令cd  htdocs 切换进入该目录,然后使用put命令分别上传这3个文件:
 
若要将d:test 下的所有以.txt结尾的文件都上传到htdocs下,可以使用mput命令:
ftp> prompt 
将交互模式关闭
ftp> mput  *.txt
4.
下载文件,将空间下的文件或文件夹下载到本地
ftp> get  1.txt

下载多个文件或文件夹到本地计算机
ftp> mget *  
下载所有文件和文件夹到本地
ftp> mget *.txt 
下载以.txt 结尾的文件到本地
 
5.
删除ftp空间文件或目录
ftp> delete  1.txt 
:删除文件1.txt
ftp> mdelete *.txt  
删除空间下所有以.txt 结尾的文件
ftp> mdelete *   
删除所有文件
 
 
若要删除目录,可以使用“rmdir 目录名”来删除目录,前提是该目录必须为空,也就是目录中没有文件或子目录。如果需要删除一个非空的目录,需要先删除其中的文件,然后再删除目录:
ftp> cd abc  
进入目录abc
ftp> mdelete * 
删除该目录中所有文件
ftp> cd .. 
切换到上一级目录中
ftp> rmdir abc  
删除空目录
abc