无须打印格式控制,这是缺省值
Telnet打印控制,在telnet协议中定义的控制字符包含在数据流中。.
Fortran打印控制,
该属性在实际中很少使用。
结构
文件可以拥有内部结构,在传输中该结构被保留。由数据传输过程来负责在传输中的结构及本地结构之间相互匹配,有三种可能性:
文件结构
这实际上意味着文件被看作没有内部结构的连续的字节流。
记录结构
文件是有一系列记录组成的结构。这只适用于文本文件。
页面结构
也可以称做块结构。每一页都伴随一个页号来传输,从而以顺序的方式来完成传输。
页面结构很少在实际中遇到。记录结构也不是很常见。对于文本文件使用ASCII文件类型可以获得相同的效果。
传输模式
该属性可以取三个不同的值:
流模式
文件的以字节流的方式传输。
块模式
文件以一个块连接一个块的方式传输,每个块的开头都有一个头。
压缩模式
一个简单的运程长度压缩编码被应用,来压缩连续的相同的字节。
实际中,一般只有流模式被使用。而压缩一般通过使用各种其他的工具程序来获得。
当一次传输被建立,客户端一般指定一个或多个前面说明的属性。若服务器端不能支持某个选项,服务器将用一个错误信息来响应客户端,并不具有协商机制。
FTP提供了充足的命令来使用户和远程建立连接并访问远程文件系统。
1.1.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 主动最后应答,最后一个命令成功结束