如何在 Linux 上使用 FTP 命令 您所在的位置:网站首页 ftp列出所有文件命令怎么用不了呢 如何在 Linux 上使用 FTP 命令

如何在 Linux 上使用 FTP 命令

2024-07-06 10:15| 来源: 网络整理| 查看: 265

如何在 Linux 上使用 FTP 命令

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

警告:不要在 Internet 上使用 FTP

让我们从一开始就明确这一点:文件传输协议 (FTP) 可以追溯到 1970 年代初期,并且在编写时完全没有考虑安全性。它不对任何东西使用加密。您的用户名和密码等登录凭据以及您下载或上传的数据均以明文形式传输。沿途的任何人都可以查看您的机密。然而,FTP 仍有其用途。

如果您在网络内传输文件,那么您应该是安全的——只要网络上没有人在您传输文件时对任何敏感文件进行数据包嗅探和窃听。如果您的文件在任何方面都不是机密或敏感的,那么使用 FTP 在您的内部网络中移动它们应该没问题。 Linux 有标准的 ftp 命令行程序来处理这种情况。

但绝对不要使用 ftp 命令通过互联网访问外部资源。为此,请使用 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.c 在 FTP 服务器上,他想将它下载到自己的计算机上。他的计算机是 FTP 用语中的“本地计算机”。

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

FTP 服务器通过将文件传输到本地计算机并确认传输已发生来做出响应。文件的大小和传输所花费的时间也会显示出来。

lsget gc.c

要一次检索多个文件,请使用 mget(多次获取)命令。 mget 命令会要求您确认是否要依次下载每个文件。按“y”表示是,按“n”表示否。

这对于大量文件来说会很乏味。因此,相关文件的集合通常作为单个 tar.gz 或 tar.bz2 文件存储在 ftp 站点上。

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 musiccd musicpwdput songs.tar.gz

要快速移动到当前目录的父目录,请使用 cdup 命令。

cdup访问本地计算机

要更改本地计算机上的目录,您可以在 ftp> 提示符下使用 lcd 命令。但是,很容易忘记您在本地文件系统中的位置。访问本地文件系统的更方便的方法是使用 ! 命令。

! 命令打开本地计算机的 shell 窗口。您可以在这个 shell 中执行您在标准终端窗口中可以执行的任何操作。当您键入 exit 时,您将返回到 ftp> 提示符。

我们的用户使用了 ! 命令并在本地计算机上进入了一个 shell 窗口。他们已发出 ls 命令以查看该目录中存在哪些文件,然后键入 exit 以返回到 ftp> 提示符。

!lsexit重命名文件

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

rename songs.tar.gz rock_songs.tar.gzls删除文件

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

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

lsdelete gc.omdelete *.o使用 sftp 命令

熟悉IP寻址系统的读者会注意到,上面例子中使用的FTP服务器的192.168地址是一个内部IP地址,也叫私有IP地址。正如我们在本文开头警告的那样,ftp 命令只能用于内部网络。

如果您想连接到远程或公共 FTP 服务器,请使用 sftp 命令。我们的用户将连接到位于 test.trebex.net 的可公开访问的 FTP 服务器上名为 demo 的 SFTP 帐户。

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

因为用户帐户名 (demo) 是在命令行上传递的,所以不会提示他们输入用户帐户名。他们仅被提示输入密码。这将被输入、验证和接受,并且会出现 sftp> 提示。

sftp [email protected]

我们上面描述的 FTP 命令在 SFTP 会话中的工作方式相同,但有以下例外。

删除文件使用rm(FTP使用delete) 要删除多个文件,请使用 rm(FTP 使用 mdelete) 要移动到父目录,请使用 cd ..(FTP 使用 cdup)

我们的用户在他们的 SFTP 会话中使用了一些命令。他们使用 ls 列出文件,并使用 cd 切换到 pub 目录。他们使用 pwd 打印工作目录。

在 Linux 世界中还有其他传输文件的选项,特别是 scp(安全复制),但我们在这里重点介绍 FTP 和 SFTP。在适用场景中使用这两个命令将很好地满足您和您的文件存储和检索需求。

Linux Commands Files tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc Processes alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap Networking netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有