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.c在FTP服务器上,他希望将其下载到自己的计算机上。他的计算机是FTP术语中的“本地计算机”。
检索(或“获取”)文件的命令是get。因此,我们的用户发出命令get gc.c。他们键入get、空格,然后输入要检索的文件名。
FTP服务器通过将文件传输到本地计算机并确认传输已发生来做出响应。还会显示文件的大小和传输所需的时间。
ls
get gc.c
要一次检索多个文件,请使用dmget(Multiple Get)命令。mget命令将要求您确认是否要依次下载每个文件。按“y”表示是,按“n”表示否。
对于大量的文件来说,这将是乏味的。因此,相关文件的集合通常作为单个tar.gz或tar.bz2文件存储在ftp站点上。
相关:如何在Linux上从.tar.gz或.tar.bz2文件中提取文件
mget *.c
将文件上载到FTP服务器
根据已授予您的FTP帐户的权限,您可能能够将文件上载(或“上传”)到服务器。要上传文件,请使用PUT命令。在我们的示例中,用户将一个名为Songs.tar.gz的文件上传到FTP服务器。
put Songs.tar.gz
正如您可能预期的那样,有一个命令可以一次将多个文件放到FTP服务器上。它被称为mput(多个放置)。与mget命令一样,mput将逐个要求确认上传每个文件的“y”或“n”。
将文件集放入tar存档的论点同样适用于放入文件,就像获取文件一样。我们的用户正在使用以下命令上传多个“.odt”文件:
mput *.odt
创建和更改目录
如果ftp服务器上的用户帐户允许,您可以创建目录。执行此操作的命令是mkdir。需要说明的是,您使用mkdir命令创建的任何目录都将在ftp服务器上创建,而不是在本地计算机上创建。
要更改ftp服务器上的目录,请使用cd命令。使用cd命令时,ftp>提示符不会更改以反映新的当前目录。pwd(打印工作目录)命令将显示您的当前目录。
我们的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
使用sftp命令
熟悉IP寻址系统的读者会注意到,上述示例中使用的ftp服务器的192.168地址是内部IP地址,也称为私有IP地址。正如我们在本文开头所警告的那样,ftp命令只能在内部网络上使用。
如果要连接到远程或公共FTP服务器,请使用sftp命令。我们的用户将连接到位于test.trebex.net的可公开访问的FTP服务器上名为demo的SFTP帐户。
当他们连接时,系统会通知他们连接已建立。他们还被告知无法验证主机的真实性。这对于第一次连接新主机是正常的。他们按“y”接受连接。
因为用户帐户名(Demo)是在命令行上传递的,所以不会提示他们输入用户帐户名。仅提示他们输入密码。这将被输入、验证和接受,并向他们显示sftp>提示符。
sftp demo@test.rebex.net
除了以下例外,我们上面描述的FTP命令在SFTP会话中的工作方式相同。
要删除文件,请使用RM(FTP使用DELETE)。 要删除多个文件,请使用rm(FTP使用mdelete)。 要移动到父目录,请使用cd。(FTP使用cdup)
我们的用户在他们的SFTP会话中使用了一些命令。他们使用ls列出文件,使用cd切换到pub目录。他们已经使用PWD打印了工作目录。
在Linux世界中还有其他传输文件的选择,特别是SCP(安全复制),但这里我们重点介绍FTP和SFTP。在适用的场景中使用这两个命令将很好地满足您和您的文件存储和检索需求。