FTP 常用命令及模式介绍[1]

FTP 常用命令及模式介绍[1]
 
1、常用命令
cd  //在远程机上改变工作目录
lcd  //在本地机上改变工作目录
ascii  //设置文件传输方式为ASCII模式
binary  //设置文件传输方式为二进制模式
get(mget) //从远程机传送指定文件到本地机
put(mput) //从本地机传送指定文件到远程机
open //连接远程ftp站点
!   //转到Shell中
 
2、ASCII 和BINARY模式区别
2.1 文件传输:
  用HTML 和文本编写的文件必须用ASCII模式上传,用BINARY模式上传会破坏文件,导致文件执行出错。
  BINARY模式 用来传送可执行文件,压缩文件,和图片文件。
 
2.2 回车换行:
binary模式不对数据进行任何处理,
asci模式将回车换行转换为本机的回车字符,比如:Unix下是 ,  Windows下是 ,Mac下是
 
2.3 不同的系统有不同的行结束符:
  unix系统下行结束符是一个字节,即十六进制的0A
  ms的系统是两个字节,即十六进制的0D0A
       MAC系统是一个字节,即十六进制的0D
在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理.
 
3、发送和接收文件
3.1 从远程系统获取文件
get和mget命令用于从远程机上获取文件。get命令的一般格式为:get 文件名
您还可以给出本地文件名,这个文件名是这个要获取的文件在您的本地机上创建时的文件名。如果您不给出一个本地文件名,那么就使用远程文件原来的名字。
 
mget命令一次获取多个远程文件。mget命令的一般格式为:mget 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。
 
3.2 向远程系统发送文件
put和mput命令用于向远程机发送文件。Put命令的一般格式为:put 文件名
 
mput命令一次发送多个本地文件,mput命令的一般格式为:mput 文件名列表
使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。
 
4、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无
法和内部网络的客户端建立一个新的连接,造成无法工作。
 
 
 
 
创建时间:2020.06.24  更新时间:
 
 
原文地址:https://www.cnblogs.com/guorongtao/p/13187140.html