一、ftp简介

FTP(FileTransfer Protocol)是在客户端和服务器之间传输文件的标准网络协议。FTP协议建立在C-S模型之上,在客户端和服务器之间使用单独的控制和数据连接。FTP用户可通过明文登陆协议来认证,通常是以用户名和密码形式,不过在服务器配置允许的情况下,也可以实现匿名连接。为了保护用户名和密码,以及对内容进行加密,FTP通常使用SSL/TLS来保证其安全性,即FTPS,有时也会用另一种不同技术的SSH文件传输协议,即SFTP。

ftp本就就是用来做数据传输的协议,只要按照协议规定就能从两个主机之间传输数据。

二、ftp的常用命令

从“开始”→“程序”→“附件”→“命令提示符”,打开DOS命令窗口,就可以输入FTP命令了。
1、登录FTP服务器

方法:输入命令 ftp host
解释:其中host是FTP服务器的域名或IP地址.
注意:1 登录时先是显示一些欢迎信息,然后会要求输入用户名和密码
注意:2 在输入密码时,屏幕没有任何显示,但已经输入了,不要认为出错。登录成功后就可以访问FTP服务器上的文件了。
如果由于用户名或密码错误导致登录失败,可以用user命令重新登录。    
注意:3 登陆成功时会出现"ftp>"提示符

2、查看FTP服务器上的文件

  • dir 命令:显示目录和文件列表。
  • ls 命令:显示简易的文件列表。
  • cd 命令:进入指定的目录。

注意:dir命令可以使用通配符“*”和“?”,比如,显示当前目录中所有扩展名为jpg的文件,可使用命令 dir *.jpg。
注意:cd命令中必须带目录名。比如 cd main 表示进入当前目录下的main子目录,cd .. 表示退回上一级子目录。

3、下载文件
上传和下载文件时应该使用正确的传输类型,FTP的传输类型分为ASCII码方式和二进制方式两种,对.txt、.htm等文件应采用ASCII码方式传输,对.exe或图片、视频、音频等文件应采用二进制方式传输。在默认情况下,FTP为ASCII码传输方式。

  • type 命令:查看当前的传输方式。
  • ascii 命令:设定传输方式为ASCII码方式。
  • binary 命令:设定传输方式为二进制方式。可以使用缩写bin命令。

注意:以上命令都不带参数。并且传出文件之前一定要注意设定传输数据格式,否则会出现传输失败。

  • get 命令:下载指定文件。
  • get命令的格式:get filename [newname],filename为下载的FTP服务器上的文件名,newname为保存在本地计算机上时使用的名字,如果不指定newname,文件将以原名保存。
  • mget 命令:下载多个文件。
  • mget命令的格式:mget filename [filename ……]。
  • mget命令支持通配符“*”和“?”,比如:mget *.mp3 表示下载FTP服务器当前目录下的所有扩展名为mp3的文件。

4、上传文件

  • put 命令:上传指定文件。
  • put命令的格式:put filename [newname],filename为上传的本地文件名,newname为上传至FTP服务器上时使用的名字,如果不指定newname,文件将以原名上传。
  • 上传文件前,应该根据文件的类型设置传输方式,本机的工作目录也应该设置为上传文件所在的目录。

5、结束并退出FTP

  • bye 命令:退出ftp会话。
  • close 命令:结束与服务器的FTP会话。
  • quit 命令:结束与服务器的FTP会话并退出FTP环境。

6、其它FTP命令

  • pwd 命令:查看FTP服务器上的当前工作目录。
  • rename filename newfilename 命令:重命名FTP服务器上的文件。
  • delete filename 命令:删除FTP服务器上的文件。
  • help [cmd] 命令:显示FTP命令的帮助信息,cmd是命令名,如果不带参数,则显示所有FTP命令。

三、实例演示

要从之一host1传输/home/sysad/test.tar文件到host2地址的/root/目录下。那么我们就可以这么做。

  1. 登陆host1,cd到/home/sysad/目录下
  2. ftp host2,输入用户名和密码,进入ftp会话
  3. 使用bin命令,改变传输类型为二进制
  4. 使用命令ftp ./test.tar /root/test.tar
  5. 传输完成后使用bye命令,退出ftp