lftp

介绍

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:等待队列任务完成。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注