概述
FTP 是用于通过互联网在不同主机之间传输文件的标准网络协议。ftp 命令是使用此协议的客户端,可以连接到远程服务器,执行列出、传输和删除文件等操作。然而,FTP 在数据传输时不加密,因此存在安全漏洞。建议在传输敏感文件时使用基于 SSH 的 `sftp` 或 `scp`。
主要特点
ftp 命令的主要特点如下:
- 基于命令行的 FTP 客户端。
- 连接到远程 FTP 服务器并传输文件。
- 通过交互模式可以连续执行多个命令。
- 提供文件列表查看 (`ls`)、文件上传 (`put`)、文件下载 (`get`) 等功能。
FTP 与 SFTP
FTP 和 SFTP 在文件传输方式和安全性方面存在显著差异。
- FTP (文件传输协议): 以明文形式传输数据,安全性较差。使用端口 21,数据传输需要额外的端口。
- SFTP (SSH 文件传输协议): 通过 SSH (安全外壳) 加密传输数据,因此更安全。使用端口 22,所有通信都通过单个端口处理。
主要选项
ftp 命令通常在不带参数的情况下运行以进入交互模式,或者与特定的服务器地址一起运行。交互模式下可用的内部命令更为重要。
1) 执行选项
2) 交互模式内部命令
生成的命令:
请尝试组合命令。
描述:
`ftp` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
通过 ftp 命令的各种使用示例来熟悉其功能。
连接 FTP 服务器
ftp ftp.example.com
连接到 `ftp.example.com` 服务器。连接后需要输入用户名和密码。
匿名 FTP 服务器访问
ftp ftp.example.com
Name: anonymous
Password: your_email@example.com
连接允许匿名 FTP 的服务器时,使用 `anonymous` 作为用户名,并输入电子邮件地址作为密码。
文件下载与上传
ftp ftp.example.com
... (접속 후)
get remote.txt
put local.txt
连接到服务器后,使用 `get` 命令下载 `remote.txt`,使用 `put` 命令上传 `local.txt`。
上传多个文件 (mput)
ftp ftp.example.com
... (접속 후)
mput *.jpg
使用 `mput` 命令一次性上传多个文件。`mget` 的使用方式类似。
安装
ftp 通常在大多数 Linux 发行版中作为 `ftp` 或 `inetutils-ftp` 包默认包含。如果缺失,可以使用以下命令安装。
Debian/Ubuntu
sudo apt update
sudo apt install -y ftp
RHEL/CentOS/Fedora
sudo dnf install -y ftp
Arch Linux
sudo pacman -S --needed ftp
提示与注意事项
总结了使用 ftp 命令时应注意的事项。
提示
- ftp 的安全性较差,因此在传输敏感信息时,建议使用 `sftp` 或 `scp`。
- 在交互模式下输入 `help` 可以查看所有内部命令列表。
- 有些 FTP 服务器需要使用被动模式 (passive mode) 才能正常连接。在 `ftp` 命令中添加 `-p` 选项通常可以解决此问题。