Linux FTP 下载命令详解
FTP(File Transfer Protocol,文件传输协议)是互联网上用于在客户端和服务器之间传输文件的标准协议之一,Linux 系统提供了多种 FTP 客户端工具,如 ftp、lftp、sftp 等,每种工具都有其独特的功能和适用场景,本文将详细介绍这些 FTP 下载命令的使用方法、参数配置及实用技巧,帮助用户高效完成文件传输任务。

基础 FTP 命令使用
ftp 是 Linux 系统自带的 FTP 客户端,功能简单易用,适合基本的文件传输需求。
连接 FTP 服务器
使用以下命令连接到 FTP 服务器:
ftp ftp.example.com
如果服务器需要用户名和密码,系统会提示输入;若为匿名 FTP,可直接使用 anonymous 作为用户名,邮箱地址作为密码。
常用下载命令
连接成功后,可通过以下命令下载文件:
-
下载单个文件:
get remote_file.txt
默认将文件保存到当前目录,也可通过
get remote_file.txt local_file.txt指定本地保存路径和名称。 -
下载整个目录:
FTP 本身不支持直接递归下载目录,但可通过组合命令实现:prompt off # 关闭交互提示 mget * # 下载当前目录下所有文件
若需下载子目录文件,需先使用
cd命令进入目标目录,再执行mget。
退出 FTP 会话
完成操作后,输入 quit 或 bye 退出 FTP 会话。

增强型工具:lftp 的优势
lftp 是一款功能更强大的 FTP 客户端,支持多线程、断点续传、脚本自动化等高级功能,适合大文件或复杂传输场景。
安装与连接
sudo apt install lftp # Debian/Ubuntu 系统 lftp ftp.example.com
匿名登录方式与 ftp 命令一致。
高级下载功能
-
断点续传:
pget -n 5 remote_file.zip # 使用 5 线程下载,支持断点续传
pget会自动分块下载,大幅提升大文件传输速度。 -
递归下载目录:
mirror remote_dir/ local_dir/ # 下载整个目录及子目录
参数
-r可反向上传,--delete可同步删除本地已不存在的文件。 -
后台传输:
bg get large_file.iso # 后台下载,可执行其他命令 jobs # 查看后台任务状态
批量与脚本化
lftp 支持通过脚本实现自动化传输:
#!/bin/bash lftp -c "open ftp.example.com; user username password; mirror -R /local_dir /remote_dir; bye"
上述脚本可将本地目录 /local_dir 上传至服务器 /remote_dir。

安全传输:sftp 与 SSH 的结合
sftp 基于 SSH 协议,提供加密传输,安全性高于传统 FTP,适合传输敏感数据。
连接与基本操作
sftp username@ftp.example.com
连接后,命令与 ftp 类似,但需注意:
- 下载文件:
get remote_file.txt - 下载目录:
-r参数(如get -r remote_dir/)
高级功能
- 指定本地路径:
lcd /local/path # 切换本地工作目录 cd /remote/path # 切换远程目录
- 并行传输:
sftp本身不支持多线程,但可通过rsync或scp替代实现高效传输:rsync -avz -e ssh /local_dir/ username@remote:/remote_dir/
实用技巧与注意事项
-
被动模式与防火墙
若 FTP 连接超时,可尝试切换被动模式:ftp> passive lftp> set ftp:passive-mode on
被动模式可避免客户端防火墙问题。
-
权限与文件名编码
- 确保本地用户对目标目录有写入权限。
- 若文件名包含中文或特殊字符,建议在服务器和客户端统一使用 UTF-8 编码。
-
日志与错误排查
ftp命令可通过debug查看详细日志:ftp> debug 1
lftp支持日志输出:lftp -c "open ftp.example.com; get file.txt; quit" -o log.txt
-
替代工具推荐
wget:适合 HTTP/HTTPS 和 FTP 协议的单文件/目录下载:wget -r -np -nH ftp://ftp.example.com/pub/
curl:支持多种协议,适合脚本化调用:curl -O ftp://ftp.example.com/file.txt
Linux 系统提供了丰富的 FTP 下载工具,从基础的 ftp 到功能强大的 lftp 和安全的 sftp,用户可根据需求选择合适的工具,掌握这些命令的核心参数与高级功能,如断点续传、多线程传输和脚本自动化,能显著提升文件传输效率,注意防火墙配置、权限管理和错误排查,可确保传输过程稳定可靠,通过合理运用这些工具,无论是日常文件备份还是大规模数据迁移,都能轻松应对。















