如何在Linux上使用FTP命令

文件传输协议比大多数读者都早,但是它仍然很强大。 FTP不具备现代协议的安全性,但是您可能仍然需要使用它。这样做的方法。

警告:请勿通过Internet使用FTP

让我们从一开始就明确指出这一点:文件传输协议(FTP)的历史可以追溯到1970年代初,其编写完全不考虑安全性。它不对任何内容使用加密。登录凭据(如用户名和密码)以及您下载或上传的数据以明文形式传输。沿途任何人都可以查看您的秘密。但是,FTP仍然有其用途。

如果您要在网络中传输文件,则应该安全—只要网络上没有人在传输敏感文件时监听和窃听任何敏感文件。如果您的文件不属于机密或敏感状态,则可以使用FTP在您的内部网络中移动文件。 Linux有标准 ftp 命令行程序来精确地处理这种情况。

确实 不要使用ftp 命令以通过Internet访问外部资源。为此,请使用 sftp 命令行程序,它使用安全的SSH文件传输协议。我们将在本教程中介绍这两个程序。

为了弄清楚为什么您永远不想在Internet上使用FTP,请看下面的屏幕截图。它以纯文本形式显示FTP密码。网络上或您与Internet上的FTP服务器之间的任何人都可以轻松地看到密码为“ MySecretPassword”。

如果没有加密,恶意参与者也可能会修改您正在传输中正在下载或上传的文件。

ftp命令

假设您在FTP站点上具有有效的帐户,则可以使用以下命令连接到该帐户。在本文中,将命令中的IP地址替换为您要连接的FTP服务器的IP地址。

FTP 192.168.4.25

警告:您只能使用 ftp 命令以连接到受信任的本地网络上的服务器。使用 sftp 下面介绍的命令,用于通过Internet传输文件。

FTP服务器以欢迎消息响应。问候语将因服务器而异。然后,它要求您登录的帐户的用户名。

请注意,将显示您要连接的站点的IP地址,然后显示您的Linux用户名。如果您在FTP服务器上的帐户名与Linux用户名相同,只需按Enter键。这将使用您的Linux用户名作为FTP服务器上的帐户名。如果您的Linux用户名和FTP帐户名不同,请输入FTP帐户用户名,然后按Enter。

登录FTP服务器

系统将提示您输入FTP站点的密码。输入密码,然后按Enter。您的密码未显示在屏幕上。如果您的FTP用户帐户名和密码组合已通过FTP服务器验证,则您将登录到FTP服务器。

您将看到 ftp> 迅速的。

环顾四周并检索文件

首先,您可能需要获取FTP服务器上文件的列表。这 ls 命令就是这样做的。我们的用户看到了文件 gc 在FTP服务器上,他想将其下载到自己的计算机上。用FTP的话来说,他的计算机是“本地计算机”。

检索(或“获取”)文件的命令是 得到。因此,我们的用户发出命令 获取gc.c。他们打字 得到,一个空格,然后是他们希望检索的文件名。

FTP服务器通过将文件传输到本地计算机并确认传输已进行响应。还显示了文件的大小以及传输所需的时间。

ls
获取gc.c

要一次检索多个文件,请使用et (多次获取)命令。这 et 命令将要求您确认是否要依次下载每个文件。通过按“ y”(是)和“ n”(否)进行响应。

这对于大量文件而言将是乏味的。因此,相关文件的集合通常以tar.gz或tar.bz2文件的形式存储在ftp站点上。

有关的:如何在Linux上从.tar.gz或.tar.bz2文件提取文件

mget * .c

上传文件到FTP服务器

根据已授予您的FTP帐户的权限,您也许可以将文件上传(或“放入”)到服务器。要上传文件,请使用 命令。在我们的示例中,用户正在上传一个名为 Songs.tar.gz 到FTP服务器。

把Songs.tar.gz

如您所料,有一个命令可以将多个文件一次放入FTP服务器。叫做 电脑 (多次投入)。就像 et 命令做到了 电脑 会要求您一个一个地上传一个“ y”或“ n”确认。

用于将文件集放入tar归档中的相同参数适用于将文件放入,与用于获取文件一样。我们的用户正在使用以下命令上传多个“ .odt”文件:

mput * .odt

创建和更改目录

如果您在ftp服务器上的用户帐户允许,则可以创建目录。执行此操作的命令是 麦克迪尔 。要明确的是,您使用以下命令创建的任何目录 麦克迪尔 命令将在ftp服务器上而不是在本地计算机上创建。

要更改ftp服务器上的目录,请使用 光盘 命令。当您使用 光盘 命令 ftp> 提示将不会更改以反映您的新当前目录。这 密码 (打印工作目录)命令将显示您的当前目录。

我们的ftp用户创建一个名为Music的目录,切换到该新目录,并通过使用 密码 命令然后将文件上传到该目录。

麦克迪尔音乐
cd音乐
密码
把songs.tar.gz

要快速移至当前目录的父目录,请使用 光盘 命令。

光盘

访问本地计算机

要更改本地计算机上的目录,可以使用 液晶显示器 在命令 ftp> 迅速的。但是,很容易忘记本地文件系统中的位置。访问本地文件系统的一种更方便的方法是使用 ! 命令。

! 命令打开本地计算机的外壳程序窗口。您可以在此Shell中执行任何在标准终端窗口中可以执行的操作。当您键入 出口 你回到了 ftp> 迅速的。

我们的用户使用了 ! 命令,并在本地计算机上输入一个Shell窗口。他们已经发布了 ls 命令查看该目录中存在哪些文件,然后键入 出口 返回到 ftp> 迅速的。

!
ls
出口

重命名文件

要重命名FTP服务器上的文件,请使用 改名 命令。在这里,我们的FTP用户使用以下命令重命名文件 改名 然后使用 ls 命令以列出目录中的文件。

重命名songs.tar.gz rock_songs.tar.gz
ls

删除文件

要删除FTP服务器上的文件,请使用 删除 命令。要一次删除多个文件,请使用 mdelete 命令。系统将要求您提供“ y”或“ n”确认以删除每个文件。

在这里,我们的FTP用户列出了文件以查看其名称,然后选择其中一个进行删除。然后,他们决定将其全部删除。

ls
删除gc.o
mdelete * .o

使用sftp命令

熟悉IP寻址系统的读者会注意到,以上示例中使用的FTP服务器的192.168地址是内部IP地址,也称为专用IP地址。正如我们在本文开头警告的那样, ftp 该命令仅应在内部网络上使用。

如果要连接到远程或公​​共FTP服务器,请使用 sftp 命令。我们的用户将连接到名为的SFTP帐户 演示 在位于以下位置的可公开访问的FTP服务器上 test.trebex.net.

当他们连接时,会通知他们已建立连接。他们还被告知无法验证主机的真实性。对于新主机的第一次连接,这是正常的。他们按“ y”接受连接。

因为用户帐户名(演示)是在命令行上传递的,因此不会提示您输入用户帐户名。仅提示他们输入密码。输入,验证和接受此信息,并向他们显示 sftp> 迅速的。

sftp [email protected]

我们上面描述的FTP命令在SFTP会话中的工作原理相同,但以下情况除外。

  • 删除文件使用 R M (FTP使用 删除)
  • 要删除多个文件,请使用 R M (FTP使用 mdelete)
  • 要移至上级目录,请使用 光盘.. (FTP使用 光盘)

我们的用户在他们的SFTP会话中使用了一些命令。他们有用 ls 列出文件,以及 光盘 更改为pub目录。他们已经使用了 密码 打印工作目录。

在Linux世界中,还有其他选项可以传输文件 scp (安全副本),但此处我们重点介绍FTP和SFTP。在适用的场景中使用这两个命令将为您提供服务,并且您的文件存储和检索需求很好。


$config[zx-auto] not found$config[zx-overlay] not found