如何在Linux中使用FTP命令传输文件

FTP(文件传输协议)是用于在远程网络之间传输文件的标准网络协议。

在本教程中,我们将通过实际示例向您展示如何在Linux上使用ftp命令。

在大多数情况下,您将使用桌面FTP客户端连接到远程服务器并上传或下载文件。 但是,命令 ftp 当您在没有GUI的服务器上工作并且想要通过FTP或从远程服务器传输文件时,此功能很有用。

通过ftp传输数据时,两个连接均未加密。 为了安全地传输数据,请使用SFTP协议。

为了能够复制文件,您必须至少具有对源文件的读取权限和对目标系统的写入权限。

传输大文件时,建议在屏幕或tmux会话中运行FTP命令。

运行命令的目录 ftp 到本地工作目录。

  1. 使用以下命令打开与远程系统的FTP连接 ftp 在远程服务器上,键入IP地址或域名:
    ftp 192.168.42.77

  2. 如果建立连接,将出现一条确认消息,并提示您输入FTP用户名,在本示例中为FTP用户名 andreyex:
    220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
    220-You are user number 1 of 50 allowed.
    220-Local time is now 21:35. Server port: 21.
    220-This is a private system - No anonymous login
    220-IPv6 connections are also welcome on this server.
    220 You will be disconnected after 15 minutes of inactivity.
    Name (192.168.42.77:localuser): andreyex

    根据远程服务器上运行的FTP服务,可能会出现不同的确认消息。

  3. 输入用户名后,将提示您输入密码:
    Password: 

  4. 如果密码正确,则远程服务器将显示确认消息和提示 ftp>
    230 OK. Current restricted directory is /
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>

    复制

如果您要访问的FTP服务器接受匿名FTP帐户,并且您想以匿名用户身份登录,请使用 anonymous 作为用户名,您的电子邮件地址作为密码。

许多FTP命令与您在Linux Shell命令行中输入的命令相似或相同。

以下是一些最常见的FTP命令

  • help 或者 ? -所有可用的FTP命令列表
  • cd -更改远程计算机上的目录
  • lcd -更改本地计算机上的目录
  • ls -当前远程目录中的文件名和目录列表
  • mkdir -在当前远程目录中创建一个新目录
  • pwd -在远程计算机上打印当前工作目录
  • delete -删除当前远程目录中的文件
  • rmdir-删除当前远程目录中的目录
  • get -将一个文件从远程计算机复制到本地计算机
  • mget -将多个文件从远程计算机复制到本地计算机
  • put -将一个文件从本地计算机复制到远程
  • mput -将一个文件从本地计算机复制到远程

登录后,将显示当前工作目录-这是远程用户的主目录。

使用命令上传文件时 ftp,文件将被上传到您键入命令的目录中 ftp

如果要将文件上传到其他本地目录,请使用以下命令切换到该目录 lcd

假设我们要将文件下载到目录中 ~/ftp_downloads

lcd ~/ftp_downloads

要从远程服务器下载一个文件,请使用以下命令 get … 例如,下载文件 backup.zip ,请使用以下命令:

get backup.zip

输出应如下所示:

200 PORT command successful
150-Connecting to port 60609
150 6516.9 kbytes to download
226-File successfully transferred
226 2.356 seconds (measured here), 2.70 Mbytes per second
6673256 bytes received in 2.55 seconds (2.49 Mbytes/s)

要一次上传多个文件,请使用以下命令 mget… 您可以指定单个文件名列表或使用通配符。

mget backup1.zip backup2.zip

上载多个文件时,将提示您确认每个文件。

mget backup1.zip? y
200 PORT command successful
150 Connecting to port 52231
226-File successfully transferred
226 0.000 seconds (measured here), 31.51 Kbytes per second
14 bytes received in 0.00058 seconds (23.6 kbytes/s)
mget backup2.zip? y
200 PORT command successful
150-Connecting to port 59179
150 7.2 kbytes to download
226-File successfully transferred
226 0.000 seconds (measured here), 16.68 Mbytes per second
7415 bytes received in 0.011 seconds (661 kbytes/s)

一旦您完成了从远程FTP上下载文件的操作,服务器将关闭与 bye 或者 quit

quit

221-Goodbye. You uploaded 0 and downloaded 6544 kbytes.
221 Logout.

要将文件从本地目录上载到远程FTP服务器,请使用以下命令 put

put image.jpg

输出应如下所示:

200 PORT command successful
150 Connecting to port 34583
226-File successfully transferred
226 0.849 seconds (measured here), 111.48 Kbytes per second
96936 bytes sent in 0.421 seconds (225 kbytes/s)

如果要下载不在当前工作目录中的文件,请使用绝对文件路径。

要将多个文件从本地目录上传到远程FTP服务器,请使用以下命令 mput

mput image_andreyex.jpg image2.jpg

mput image_andreyex.jpg? y
200 PORT command successful
150 Connecting to port 41075
226-File successfully transferred
226 1.439 seconds (measured here), 114.32 Kbytes per second
164204 bytes sent in 0.76 seconds (216 kbytes/s)
mput image2.jpg? y
200 PORT command successful
150 Connecting to port 40759
226-File successfully transferred
226 1.727 seconds (measured here), 111.75 Kbytes per second
195836 bytes sent in 1.25 seconds (141 kbytes/s)

上载多个文件时,系统将提示您确认要上载的每个文件。

完成将文件上传到远程FTP服务器后,服务器将关闭与 bye 或者 quit

在本文中,您学习了如何使用ftp命令将文件上传和传输到远程FTP服务器。

请禁用您的广告拦截器或将此网站列入白名单!

Sidebar