如何在命令行中使用 ftp 命令上传和下载文件

本文中,介绍在 Linux shell 中如何使用 ftp 命令。包括如何连接 FTP 服务器,上传或下载文件以及创建文件夹。尽管现在有许多不错的 FTP 桌面应用,但是在服务器、SSH、远程会话中命令行 ftp 命令还是有很多应用的。比如。需要服务器从 ftp 仓库拉取备份。

如何在命令行中使用 ftp 命令上传和下载文件

 

步骤 1: 建立 FTP 连接

想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟上 FTP 服务器的域名 'domain.com' 或者 IP 地址

 

例如:

  1. <span class="pln">ftp domain</span><span class="pun">.</span><span class="pln">com</span>
  2. <span class="pln">ftp </span><span class="lit">192.168</span><span class="pun">.</span><span class="lit">0.1</span>
  3. <span class="pln">ftp user@ftpdomain</span><span class="pun">.</span><span class="pln">com</span>

注意: 本例中使用匿名服务器。

替换下面例子中 IP 或域名为你的服务器地址。

如何在命令行中使用 ftp 命令上传和下载文件

FTP 登录

 

步骤 2: 使用用户名密码登录

绝大多数的 FTP 服务器是使用密码保护的,因此这些 FTP 服务器会询问'username'和'password'.

如果你连接到被称作匿名 FTP 服务器(LCTT 译注:即,并不需要你有真实的用户信息即可使用的 FTP 服务器称之为匿名 FTP 服务器),可以尝试anonymous作为用户名以及使用空密码:

  1. <span class="typ">Name</span><span class="pun">:</span><span class="pln"> anonymous</span>
  2. <span class="typ">Password</span><span class="pun">:</span>

之后,终端会返回如下的信息:

  1. <span class="lit">230</span><span class="typ">Login</span><span class="pln"> successful</span><span class="pun">.</span>
  2. <span class="typ">Remote</span><span class="pln"> system type </span><span class="kwd">is</span><span class="pln"> UNIX</span><span class="pun">.</span>
  3. <span class="typ">Using</span><span class="pln"> binary mode to transfer files</span><span class="pun">.</span>
  4. <span class="pln">ftp</span><span class="pun">></span>

登录成功。

如何在命令行中使用 ftp 命令上传和下载文件

FTP 登录成功

 

步骤 3: 目录操作

FTP 命令可以列出、移动和创建文件夹,如同我们在本地使用我们的电脑一样。ls可以打印目录列表,cd可以改变目录,mkdir可以创建文件夹。

 

使用安全设置列出目录

  1. <span class="pln">ftp</span><span class="pun">></span><span class="kwd">ls</span>

服务器将返回:

  1. <span class="lit">200</span><span class="pln"> PORT command successful</span><span class="pun">.</span><span class="typ">Consider</span><span class="kwd">using</span><span class="pln"> PASV</span><span class="pun">.</span>
  2. <span class="lit">150</span><span class="typ">Here</span><span class="pln"> comes the directory listing</span><span class="pun">.</span>
  3. <span class="pln">directory </span><span class="kwd">list</span>
  4. <span class="pun">....</span>
  5. <span class="pun">....</span>
  6. <span class="lit">226</span><span class="typ">Directory</span><span class="pln"> send OK</span><span class="pun">.</span>

如何在命令行中使用 ftp 命令上传和下载文件

打印目录

 

改变目录:

改变目录可以输入:

  1. <span class="pln">ftp</span><span class="pun">></span><span class="kwd">cd</span><span class="pln"> directory</span>

服务器将会返回:

  1. <span class="lit">250</span><span class="typ">Directory</span><span class="pln"> succesfully changed</span><span class="pun">.</span>

如何在命令行中使用 ftp 命令上传和下载文件

FTP中改变目录

 

步骤 4: 使用 FTP 下载文件

在下载一个文件之前,我们首先需要使用lcd命令设定本地接受目录位置。

  1. <span class="pln">lcd </span><span class="pun">/</span><span class="pln">home</span><span class="pun">/</span><span class="pln">user</span><span class="pun">/</span><span class="pln">yourdirectoryname</span>

如果你不指定下载目录,文件将会下载到你登录 FTP 时候的工作目录。

现在,我们可以使用命令 get 来下载文件,比如:

  1. <span class="kwd">get</span><span class="kwd">file</span>

文件会保存在使用lcd命令设置的目录位置。

服务器返回消息:

  1. <span class="kwd">local</span><span class="pun">:</span><span class="kwd">file</span><span class="pln"> remote</span><span class="pun">:</span><span class="kwd">file</span>
  2. <span class="lit">200</span><span class="pln"> PORT command successful</span><span class="pun">.</span><span class="typ">Consider</span><span class="kwd">using</span><span class="pln"> PASV</span><span class="pun">.</span>
  3. <span class="lit">150</span><span class="typ">Opening</span><span class="pln"> BINARY mode data connection </span><span class="kwd">for</span><span class="kwd">file</span><span class="pun">(</span><span class="pln">xxx bytes</span><span class="pun">).</span>
  4. <span class="lit">226</span><span class="typ">File</span><span class="pln"> send OK</span><span class="pun">.</span>
  5. <span class="pln">XXX bytes received </span><span class="kwd">in</span><span class="pln"> x</span><span class="pun">.</span><span class="pln">xx secs </span><span class="pun">(</span><span class="pln">x</span><span class="pun">.</span><span class="pln">xxx MB</span><span class="pun">/</span><span class="pln">s</span><span class="pun">).</span>

如何在命令行中使用 ftp 命令上传和下载文件

使用FTP下载文件

下载多个文件可以使用通配符及 mget 命令。例如,下面这个例子我打算下载所有以 .xls 结尾的文件。

  1. <span class="pln">mget </span><span class="pun">*.</span><span class="pln">xls</span>

 

步骤 5: 使用 FTP 上传文件

完成 FTP 连接后,FTP 同样可以上传文件

使用 put命令上传文件:

  1. <span class="pln">put </span><span class="kwd">file</span>

当文件不再当前本地目录下的时候,可以使用绝对路径:

  1. <span class="pln">put </span><span class="pun">/</span><span class="pln">path</span><span class="pun">/</span><span class="kwd">file</span>

同样,可以上传多个文件:

  1. <span class="pln">mput </span><span class="pun">*.</span><span class="pln">xls</span>

 

步骤 6: 关闭 FTP 连接

完成FTP工作后,为了安全起见需要关闭连接。有三个命令可以关闭连接:

  1. <span class="pln">bye</span>
  2. <span class="kwd">exit</span>
  3. <span class="pln">quit</span>

任意一个命令可以断开FTP服务器连接并返回:

  1. <span class="lit">221</span><span class="typ">Goodbye</span>

如何在命令行中使用 ftp 命令上传和下载文件

需要更多帮助,在使用 ftp 命令连接到服务器后,可以使用help获得更多帮助。

如何在命令行中使用 ftp 命令上传和下载文件


via: https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/

译者:VicYu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关推荐