当前位置: 首页 > news >正文

Linux 性能更好的ftp客户端 lftp 使用详解

简介

LFTP 是一个命令行 FTP 客户端,支持多种文件传输协议,包括 FTP、FTPS、HTTP、HTTPS和SFTP 。它以其通过镜像、后台操作和脚本支持等特性有效管理复杂传输的能力而闻名。

安装

  • Ubuntu/Debian
sudo apt update
sudo apt install lftp
  • CentOS/RHEL/Fedora
sudo yum install lftp

常用选项

  • -u:指定用户名和密码

  • -e:打开连接后执行命令

  • -f:使用脚本文件执行命令

  • -c:启动 LFTP 并直接运行命令(无需进入交互模式)

  • --parallel:启用多个并行连接以提高下载/上传速度

  • -p:为 FTP 或 SFTP 服务器设置自定义端口

常用子命令

  • open:打开与服务器的连接

  • ls:列出远程服务器上的文件和目录

  • cd:更改远程服务器上的目录

  • get:从远程服务器下载文件

  • put:将文件上传到远程服务器

  • mget:下载多个文件

  • mput:上传多个文件

  • mirror:镜像(同步)目录

  • exit:退出 LFTP 会话

  • set:设置各种 LFTP 选项(例如速度限制)

  • -u username,password:指定用户名和密码

  • -e "command":连接后执行单个命令

示例用法

启动 LFTP

只需在终端中输入 lftp 即可启动 LFTP 交互模式

lftp
连接到服务器

使用 open 命令连接到服务器。适用于任何受支持的协议(FTP、FTPS、SFTP 等)

lftp open ftp://username:password@hostname

示例

lftp open ftp://user:password@ftp.example.com

使用SFTP

lftp sftp://username@hostname

具有显式 SSL/TLS 加密的 FTP(FTPS)

lftp -u username,password -e "set ftp:ssl-allow yes; open ftp://hostname"
列出远程服务器上的文件
ls
更改目录
cd remote_directory
上传文件
put local_file
上传多个文件
mput *.txt
下载文件
get remote_file
下载多个文件
mget *.txt
镜像目录
  • 将远程镜像到本地
mirror remote_directory local_directory
  • 本地镜像到远程
mirror -R local_directory remote_directory
  • 使用附加选项进行镜像

使用 --delete 删除源上不再存在的文件

mirror --delete remote_directory local_directory
退出 LFTP
exit
后台传输
lftp -e "get remote_file &"
后台传输多个命令

多个命令用分号隔开

lftp -e "open ftp://username:password@hostname; get remote_file; exit"
在脚本中使用 LFTP
#!/bin/bash
lftp -e "open ftp://username:password@hostname; put local_file; get remote_file; exit"
设置传输速率
lftp -e "set net:limit-rate 100000; open ftp://username:password@hostname; get remote_file; exit"
递归文件下载
lftp -e "mirror --reverse --verbose /remote_path /local_path; exit"
并行连接
lftp -u username,password -e "set mirror:parallel-transfer-count 5; mirror remote_directory local_directory; exit"
http://www.dtcms.com/a/32088.html

相关文章:

  • 我找到了「Windows」更快的使用方法!
  • DeepSeek系列模型概览
  • 个人测试面经总结二
  • 黄金市场现状与驱动因素分析
  • 在WPS中设置word的页码不从第一页开始,从指定页开始插入页码
  • 链表_删除链表的倒数第N个节点
  • C# 将非托管Dll嵌入exe中(一种实现方法)
  • 【ICPC】【2021沈阳站】String Problem(Lyndon分解)
  • linux串口通讯
  • 周末总结(2024/02/22)
  • SpringBoot+SseEmitter实现SSE实时推送
  • 【c语言】函数_作业详解
  • 代码随想录_回溯
  • 代码编译(词法义)
  • Ansible 学习笔记
  • 如果后台的Long类型的数据返回是null,那么Android客户端的数据bean的kotlin的Long类型的字段接受到数据后是null空指针吗?
  • 用scratch制作一个简易计算器
  • 【Linux】35.封装 UdpSocket(2)
  • Coroutine协程
  • MySQL要点总结一
  • #渗透测试#批量漏洞挖掘#Progress Software Flowmon命令执行漏洞(CVE-2024-2389)
  • HarmonyOS 开发套件 介绍——下篇
  • 代码随想录算法训练营day42(0210)
  • 《平面几何强化训练题集》第2章10-29题
  • web服务器信创,保兰德(ESB)实时步骤
  • 2025软件测试面试常问的题(详细解析)
  • 在一个集成的 SynMatrix-Ansys 设计工作流程中实现 3D 滤波器仿真
  • 从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(一)
  • 给出方法步骤 挑战解决 用加密和访问控制保护数据隐私。 调架构、参数与用 GPU 加速优化模型性能。 全面测试解决兼容性问题。
  • 本地化部署 DeepSeek:从零到一的完整指南