简介
定义
文件传输协议(英文:File Transfer Protocol,缩写:FTP)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。我们要分清文件传送(file transfer)和文件访问(file access)之间的区别,前者是FTP提供的,后者是如NFS等应用系统提供的。参考文献RFC959定义了此规范。
概述
FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话,会被防火墙断开;传输会产生一些错误。
运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这只是一些细节或者此邮件地址根本不被确定,而是依赖于FTP服务器的配置情况。
FTP和浏览器
大多数最新的网页浏览器和文件管理器都能和FTP服务器创建连接。这使得在FTP上通过一个接口就可以操控远程文件,如同操控本地文件一样。这个功能通过给定一个FTP的URL实现,形如ftp://<服务器地址>(例如,ftp://ftp.gimp.org)。是否提供密码是可选择的,如果有密码,则形如ftp://<login>:<password>@<ftpserveraddress>。大部分网页浏览器要求使用被动FTP模式,然而并不是所有的FTP服务器都支持被动模式。
使用
启动&连接
方式一:先开启ftp进程,再使用open访问连接,依次按提示输入用户名和密码即可登录。
ftp
open 120.25.235.173
方式二:直接使用ftp命令加IP地址进行连接
ftp 120.25.235.173
注:可以用duan@120.25.235.173
的方式直接填充用户名,这和使用ssh命令是一样的。
常用命令
操作远程
- pwd:显示当前目录
- ls/dir:列出当前文件夹列表
- cd:改变当前操作的文件夹
- mkdir:建文件夹
- rmdir:删除文件夹
- rename:重命名
- delete:删除文件
- mdelete:批量删除文件
操作本地
- 使用
!
加本地的命令如:!pwd
、!ls
,自己配置的命令也行,如!subl a.txt
- lcd:改变当前操作的文件夹
上传下载
- put:单个上传
- get:单个下载
- mput:多个上传
- mget:多个下载
其他命令
- help/?:显示可以执行命令的缩写
- quit/exit:退出ftp服务