介绍
LFTP 是一个功能强大的命令行 FTP 客户端,具有以下优点:
- 支持多种协议:除了 FTP,还支持 FTPS、SFTP、HTTP、HTTPS 等协议,适用范围广。
- 断点续传:支持文件传输中断后继续上传或下载,适合处理大文件或不稳定的网络环境。
- 批量操作:可以轻松处理多个文件或目录的上传、下载任务。
- 脚本化支持:支持命令脚本和自动化操作,适合批量任务或定时任务。
- 并行传输:支持多线程传输,可以同时上传或下载多个文件,提升效率。
- 镜像功能:可以通过 mirror 命令同步本地和远程目录,非常适合备份或部署。
- 跨平台:可在 Linux、macOS 等多种操作系统上运行。
使用
交互模式
连接
lftp -u 用户名,密码 服务器地址
下载
mirror [参数] 远程目录 本地目录
[参数]:
-Pn:n个线程并发传输
-c:断点续传
上传
mirror -R [参数] 本地目录 远程目录
-R代表反向
非交互模式
适合在脚本中使用:
lftp -u 用户名,密码 -e "mirror -R /path/to/local/dir /remote/path/; quit" 服务器地址
与传统ftp对比
传统 ftp 命令
- open:连接到服务器。
- user:登录用户。
- ls 或 dir:列出远程目录内容。
- cd:切换远程目录。
- lcd:切换本地目录。
- get:下载文件。
- put:上传文件。
- mget:批量下载文件(支持通配符)。
- mput:批量上传文件(支持通配符)。
- delete:删除文件。
- rmdir:删除目录(仅限空目录)。
- bye 或 quit:退出。
lftp 命令
文件和目录管理
- mirror:同步本地和远程目录。
- cls:增强的目录列表命令。
- rm -r:递归删除目录及其内容。传统 FTP 只能删除空目录,LFTP 支持递归删除。
- glob:通配符扩展命令。
传输优化
- pget:并行下载文件。
- mget -c:支持断点续传的批量下载。
- queue:任务队列管理。
- set:动态调整传输设置。
脚本和自动化
- -e:在命令行中执行 LFTP 命令。
- jobs:查看后台任务。
- alias:定义命令别名。
- bookmark:管理服务器书签。
多协议支持
LFTP 支持 FTP、FTPS、SFTP、HTTP、HTTPS 等协议,而传统 ftp 仅限于 FTP。
高级功能
- cache:缓存远程目录列表。
- nlist:原始目录列表(不解析)。
- reget / reput:从断点处重新下载或上传。
- torrent:支持 BitTorrent 下载(部分版本)。
其他实用命令
- du:计算远程目录大小。
- find:搜索远程文件。
- wait:等待队列任务完成。

