如何在linux使用FTP传输文件

FTP(文件传输协议)是用于与远程网络之间传输文件的标准网络协议。在大多数情况下,您将使用桌面FTP客户端连接到远程服务器下载或上传文件

5 min read
By myfreax
如何在linux使用FTP传输文件

FTP的全称是文件传输协议,是用于本地计算机与远程计算机在网络之间传输文件的标准网络协议。

在大多数情况下,您将使用桌面FTP客户端连接到远程FTP服务器下载或上传文件。

但是,当您在没有GUI的服务器上工作并且希望通过FTP将文件传输到远程服务器或从远程服务器下载文件时,这时命令行客户端就很有用。

通过ftp传输数据时,连接时未加密的。要进行安全的数据传输,请使用SCP。为了能够传输文件,您必须至少具有对源文件的读取权限和对目标系统的写入权限。

传输大文件时,建议使用在screentmuxnohup在后台进行ftp的下载或者上传操作。

在本教程将向你展示如何使用ftp命令连接远程ftp服务器,上传一个或多个文件,下载一个或者多个文件,切换远程与本地目录,常见ftp命令说明。

建立FTP连接

你可直接使用ftp命令后跟远程服务器IP地址或域名ftp 192.168.42.77,打开与远程计算机系统的ftp服务器的连接,。

如果建立连接,将显示确认消息,系统将提示您输入FTP用户名,在此示例中,FTP用户名为myfreax。不同的FTP服务器,会显示不同的确认消息。

输入用户名后,系统将提示您输入密码Password:,注意密码是不可见的,密码输入完整后,按回车即可。

如果您访问的FTP服务器接受匿名ftp帐户,并且您想以匿名用户anonymous身份登录,请使用anonymous作为用户名。

如果密码正确,远程服务器将显示确认消息和ftp>提示。

230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

常用FTP命令

许多FTP命令与您在Linux shell提示符中键入的命令类似或相同。以下是一些最常见的FTP命令。

help?列出所有可用的FTP命令。cd切换远程计算机上的目录。lcd切换本地计算机上的目录。

ls列出当前远程目录中的文件和目录的名称。mkdir在当前远程目录中创建一个新目录。pwd打印远程计算机上的当前工作目录。

delete删除当前远程目录中的文件。rmdir删除当前远程目录中的目录。get将一个文件从远程复制到本地计算机。

mget将多个文件从远程复制到本地计算机。put将一个文件从本地上传到远程计算机。mput将多个文件从本地上传到远程计算机。

使用FTP命令下载文件

登录后,您当前的工作目录是远程用户主目录。使用ftp命令下载文件时,文件将下载到您键入ftp命令时的目录中。

如果要将文件下载到另一个本地目录,请使用lcd命令切换到该目录。lcd切换你本地计算机的目录。

假设我们要将文件下载到~/ftp_downloads目录,运行命令lcd ~/ftp_downloads即可切换到该目录中。

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

要一次下载多个文件,请使用mget命令。您可以提供多个文件名的列表或使用通配符。下载多个文件时,系统将提示您确认每个文件。输入y继续下载。其它则会跳过。

mget backup1.zip backup2.zip #下载多个文件

#输出如下
mget backup1.zip? y
...
mget backup2.zip? y

完成从远程FTP服务器下载文件后,用byequit关闭连接,退出ftp客户端。

quit

使用FTP命令上传文件

要将文件从本地目录上传到远程FTP服务器,请使用以下put命令。例如上传image.jpg到服务器,请运行命令put image.jpg

如果要上传不在当前工作目录中的文件,请使用文件的绝对路径。要将多个文件从本地目录上传到远程FTP服务器,请使用mput命令。

例如上传image1.jpg,image2.jpg到远程的ftp服务器,你可运行命令mput image1.jpg image2.jpg。如果文件不在当前目录,你需要指定多个文件的绝对路径。

下载多个文件时,系统将提示您确认每个上传的文件。输入y确认上传,输入其它的将会跳过。完成上传文件到远程FTP服务器后,用bye或关闭连接quit

结论

现在你已经知道如何使用ftp命令连接远程ftp服务器,上传一个或多个文件,下载一个或者多个文件,关闭ftp连接,切换目录,常见ftp命令说明。如有疑问请在下方留言