文件传输协议比我们大多数的阅读器都旧,但它仍然很强大。FTP没有现代协议的安全性,但是您可能需要使用它。下面是如何做到这一点。
让我们从一开始就明确这一点:文件传输协议(FTP)可以追溯到20世纪70年代初,它的编写完全不考虑安全性。它不使用任何加密。登录凭据(如用户名和密码)以及下载或上载的数据都以明文形式传输。沿途任何人都可以看到你的秘密。然而,FTP仍然有它的用途。
如果您在网络中传输文件,您应该是安全的-只要网络上没有人在传输任何敏感文档时对其进行数据包嗅探和窃听。如果你的文件不是机密或敏感的任何方式,移动他们在你的内部网络与FTP应该是罚款。Linux有标准的ftp命令行程序来精确地处理这种情况。
但绝对不要使用ftp命令通过internet访问外部资源。为此,请使用sftp命令行程序,该程序使用安全SSH文件传输协议。我们将在本教程中介绍这两个程序。
为了澄清为什么你永远不想在互联网上使用FTP,请看下面的屏幕截图。它以明文形式显示FTP密码。任何人在你的网络或你和FTP服务器之间的互联网上可以很容易地看到密码是“MySecretPassword”
在没有加密的情况下,恶意参与者也可以修改您正在下载或上传的文件。
假设您在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站点的密码。输入密码,然后按Enter。您的密码不会显示在屏幕上。如果FTP服务器验证了您的FTP用户名和密码组合,则您将登录到FTP服务器。
您将看到ftp>;提示。
首先,您可能希望获得FTP服务器上的文件列表。ls命令就是这样做的。我们的用户看到文件gc.c在FTP服务器上,他想把它下载到自己的计算机上。他的电脑是FTP术语中的“本地电脑”。
检索(或“get”)文件的命令是get。因此,我们的用户发出命令getgc.c。他们键入get、一个空格,然后输入想要检索的文件名。
FTP服务器通过将文件传输到本地计算机并确认传输发生来做出响应。文件的大小和传输所用的时间也会显示出来。
ls get gc.c要一次检索多个文件,请使用mget(multiple get)命令。mget命令将要求您确认是否要依次下载每个文件。按“y”表示是,按“n”表示否。
对于大量的文件来说,这将是乏味的。因此,相关文件的集合通常作为单个文件存储在ftp站点上焦油.gz或者焦油bz2文件夹。
相关:如何从文件中提取文件。焦油.gz或者。焦油bz2Linux上的文件
mget *.c根据授予FTP帐户的权限,您可以将文件上载(或“放入”)到服务器。要上载文件,请使用put命令。在我们的示例中,用户正在上载一个名为歌曲.tar.gz到FTP服务器。
put Songs.tar.gz如您所料,有一个命令可以同时将多个文件放入FTP服务器。它被称为mput(multiple put)。就像mget命令所做的那样,mput将要求对每个文件的上载逐个进行“y”或“n”确认。
将文件集放入tar存档的参数与获取文件的参数相同。我们的用户正在使用以下命令上载多个“.odt”文件:
mput *.odt如果ftp服务器上的用户帐户允许,您可以创建目录。执行此操作的命令是mkdir。要清楚的是,使用mkdir命令创建的任何目录都将在ftp服务器上创建,而不是在本地计算机上创建。
要更改ftp服务器上的目录,请使用cd命令。使用cd命令时,ftp>;提示符不会更改以反映新的当前目录。pwd(print working directory)命令将显示当前目录。
我们的ftp用户创建一个名为music的目录,将其更改为新目录,使用pwd命令确认它们所在的位置,然后将文件上载到该目录。
mkdir music cd music pwd put songs.tar.gz要快速移动到当前目录的父目录,请使用cdup命令。
cdup要更改本地计算机上的目录,可以在ftp>;提示符下使用lcd命令。但是,很容易忘记您在本地文件系统中的位置。访问本地文件系统的一种更方便的方法是使用!命令。
这个!命令打开本地计算机的shell窗口。您可以在这个shell中执行任何在标准终端窗口中可以执行的操作。键入exit时,返回ftp>;提示符。
我们的用户已经使用了!命令并在本地计算机上输入shell窗口。他们已经发出ls命令查看该目录中存在哪些文件,然后键入exit返回ftp>;提示符。
! ls exit要重命名FTP服务器上的文件,请使用rename命令。在这里,我们的FTP用户用rename重命名一个文件,然后使用ls命令列出目录中的文件。
rename songs.tar.gz rock_songs.tar.gz ls要删除FTP服务器上的文件,请使用delete命令。要一次删除多个文件,请使用mdelete命令。您将被要求提供一个“y”或“n”确认删除每个文件。
在这里,我们的FTP用户列出了要查看其名称的文件,然后选择了要删除的文件。然后他们决定把它们全部删除。
ls delete gc.o mdelete *.o熟悉IP寻址系统的读者会注意到,上面示例中使用的FTP服务器的192.168地址是一个内部IP地址,也称为私有IP地址。正如我们在本文开头所警告的,ftp命令只能在内部网络上使用。
如果要连接到远程或公共FTP服务器,请使用sftp命令。我们的用户将连接到一个名为demo的SFTP帐户,该帐户位于可公开访问的FTP服务器上测试.trebex.net.
当他们连接时,会被告知连接已经建立。他们还被告知,主机的真实性无法验证。这对于新主机的第一次连接是正常的。他们按“y”接受连接。
因为用户帐户名(demo)是在命令行上传递的,所以不会提示他们输入用户帐户名。只提示他们输入密码。这将被输入、验证和接受,并显示sftp>;提示。
sftp [email protected]我们上面描述的FTP命令在SFTP会话中的工作方式相同,但有以下例外。
我们的用户在SFTP会话中使用了一些命令。他们使用ls来列出文件,使用cd来更改pub目录。他们使用pwd打印工作目录。
在Linux世界中,还有其他传输文件的选项,特别是scp(secure copy),但这里我们主要讨论FTP和SFTP。在适用的场景中,这两个命令将很好地满足您和您的文件存储和检索需求。
...一个放在第一位(不寻常,但不是不可能)。你需要知道如何在没有浏览器的情况下下载Chrome(或你选择的浏览应用程序)。 浏览器被阻止:您的浏览器也有可能被阻止联机。您的计算机上是否正在运行家长设置...
...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...
... 许多Linux服务器运行Ubuntu。那么,让我们看看如何在Ubuntu服务器上设置FTP服务器。 ...
...个文件。每一个都有它在远程服务器上的名字。 相关:如何在Linux上使用xargs命令 从ftp服务器下载文件 将curl与文件传输协议(FTP)服务器结合使用很容易,即使您必须使用用户名和密码进行身份验证。要使用curl传递用户名和...
...两个地方使用chocolate:命令提示符和PowerShell。下面介绍如何在两种环境中安装此软件包管理器,但实际上您只需要其中一种。随便挑你喜欢的。 从命令提示符安装并使用chocolate Chocolatey只有在以管理员身份运行时才能在命令提...
...和其他权限。例如,在Ubuntu上,只有sudo组中的用户才能使用sudo命令获得提升的权限。 添加新组 相关报道:Linux中Sudo和Su有什么区别? 如果要在系统上创建新组,请使用命令后面的groupadd命令,将new\u group替换为要创建的组的...
...时间来学习。下面是基本知识,这样你就可以开始了。 如何安装wget 在使用wget之前,需要先安装它。如何执行此操作取决于您的计算机: 默认情况下,大多数(如果不是全部)Linux发行版都附带wget。所以Linux用户不必做任何...
...接FTP服务器的方法,允许您在必要时下载和上传文件。 如何在windows的文件资源管理器中访问ftp服务器 Windows文件管理器(在Windows 10和8上称为文件资源管理器,在Windows 7上称为Windows资源管理器)允许您连接到FTP服务器。 要连...