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

2025.10.29【服务器】|lftp 常见参数与使用方法详解(含上传下载实战)

文章目录

  • lftp 常见参数与使用方法详解(含上传下载实战)
    • 一、什么是 lftp?
    • 二、lftp 的基本语法
    • 三、常用命令速查表
    • 四、常见使用场景
      • 1️⃣ 上传单个文件
      • 2️⃣ 批量上传多个文件
      • 3️⃣ 递归上传整个文件夹
      • 4️⃣ 从服务器下载数据
      • 5️⃣ 断点续传与多线程下载
    • 五、被动模式与防火墙问题
    • 六、脚本自动化上传(推荐做法)
    • 七、常见问题(FAQ)
      • ❓1. 上传卡住?
      • ❓2. 上传时断开连接?
      • ❓3. 上传大文件中断?
    • 八、实用总结
    • 九、结语
      • 📎 参考文档

lftp 常见参数与使用方法详解(含上传下载实战)

📘 作者:穆易青,ChatGPT
🧬 关键词:Linux、lftp、FTP上传、断点续传、命令行自动化、服务器数据传输


一、什么是 lftp?

lftp 是 Linux/Unix 系统中一个强大的命令行 FTP/FTPS/SFTP 客户端,
相比传统 ftp 命令,它支持:

  • ✅ 批量上传 / 下载(mirror 命令)
  • ✅ 自动断点续传
  • ✅ 多线程并行传输
  • ✅ 命令脚本执行
  • ✅ 被动模式(绕过防火墙限制)

在生物信息学中,lftp 常被用于:

  • 上传测序数据(如 .fastq.gz 文件)到 NCBI 或项目 FTP;
  • 从合作方或测序公司服务器批量下载分析数据;
  • 自动化数据备份脚本。

二、lftp 的基本语法

lftp [选项] [协议://]主机

常用选项说明:

参数含义
-u user,password指定用户名和密码
-p port指定端口号(默认21)
-e "命令; bye"执行命令后退出
--norc不读取配置文件
--help查看帮助文档

三、常用命令速查表

命令功能
ls列出服务器文件
cd切换远程目录
lcd切换本地目录
get 文件名下载单个文件
mget 文件1 文件2批量下载文件
put 文件名上传单个文件
mput *.fastq.gz批量上传多个文件
mirror递归同步目录(上传或下载)
rm 文件名删除远程文件
bye退出 lftp

四、常见使用场景

1️⃣ 上传单个文件

lftp -u user,pass ftp.server.com -e "put /home/data/sample1.fastq.gz -o /upload/sample1.fastq.gz; bye"

说明:

  • put:上传文件;
  • -o:指定远程路径;
  • bye:执行完命令后退出。

2️⃣ 批量上传多个文件

lftp -u user,pass ftp.server.com <<EOF
cd /upload/2025/
mput *.fastq.gz
bye
EOF

优势mput 支持通配符(*),可以一次上传所有 .fastq.gz 文件。


3️⃣ 递归上传整个文件夹

lftp -u user,pass ftp.server.com <<EOF
mirror -R /home/project/data/ /upload/data/
bye
EOF

📘 参数解释:

  • mirror -R :表示反向同步(即本地 → 远程上传);
  • 会自动创建目录结构;
  • 支持断点续传。

4️⃣ 从服务器下载数据

lftp -u user,pass ftp.server.com -e "mirror /remote/results/ /local/results/; bye"

💡 该命令会同步远程文件夹到本地,自动跳过已下载文件。


5️⃣ 断点续传与多线程下载

lftp -u user,pass ftp.server.com <<EOF
set net:timeout 10
set net:max-retries 5
set mirror:use-pget-n 5
mirror --continue --parallel=4 /remote/data/ /local/data/
bye
EOF
  • --continue:断点续传;
  • --parallel=4:4线程下载;
  • set mirror:use-pget-n 5:每个文件 5线程分块下载。

五、被动模式与防火墙问题

有时服务器防火墙限制主动模式传输,此时需启用 被动模式

set ftp:passive-mode true

完整示例:

lftp -u user,pass ftp.server.com -e "set ftp:passive-mode true; mirror -R /data /upload; bye"

六、脚本自动化上传(推荐做法)

保存为 upload_fastq.sh

#!/bin/bash
SERVER="ftp.server.com"
USER="your_username"
PASS="your_password"
LOCAL_DIR="/home/data/"
REMOTE_DIR="/upload/2025/"lftp -u ${USER},${PASS} ${SERVER} <<EOF
set ftp:passive-mode true
set net:timeout 10
set net:max-retries 5
set mirror:use-pget-n 5
mirror -R -i '\.fastq\.gz$' ${LOCAL_DIR} ${REMOTE_DIR}
bye
EOF

执行:

bash upload_fastq.sh

优点

  • 支持断点续传
  • 自动重试
  • 可定时执行(结合 crontab

七、常见问题(FAQ)

❓1. 上传卡住?

→ 添加:

set ftp:passive-mode true

❓2. 上传时断开连接?

→ 增加重试参数:

set net:max-retries 10
set net:persist-retries 10

❓3. 上传大文件中断?

→ 使用断点续传:

mirror -R --continue /local/path /remote/path

八、实用总结

功能命令
上传单个文件put localfile -o remotefile
上传多个文件mput *.fastq.gz
上传整个目录mirror -R /local /remote
下载目录mirror /remote /local
被动模式set ftp:passive-mode true
多线程set mirror:use-pget-n 5
自动退出-e "命令; bye"

九、结语

lftp 是一款极其稳定、灵活的 FTP 工具,
特别适合大文件传输、生信项目交付、远程备份场景。

无论你是科研人员、数据分析师,还是运维工程师,
掌握 lftp 就能让你的服务器传输更加高效与安全 🚀


📎 参考文档

  • lftp 官方手册
  • Qiime2 / NCBI 上传常见命令指南
http://www.dtcms.com/a/544898.html

相关文章:

  • 多模态大模型开发实战 -- OCR 基础入门
  • DeepSeek-OCR:下一代文档理解模型的技术跃迁
  • 神经网络之从向量空间角度理解PPMI矩阵
  • 神经网络之PPMI矩阵
  • 部署DeepSeek-OCR
  • 数学基础-线性代数(向量、矩阵、运算、范数、特征向量、特征值)
  • 【运维】ubuntu修改镜像源
  • 东莞营销型网站建设找火速昆山网站设计公司
  • 杭州网站定制开发谁帮58同城做的网站吗
  • (1)起始之章:Qt初印象
  • 【Java】理解Java内存中堆栈机制与装箱拆箱的底层逻辑
  • 车辆管理|校园车辆信息|基于SprinBoot+vue的校园车辆管理系统(源码+数据库+文档)
  • JAVA课程第八次实验课程主要知识点示例
  • SpringBoot3集成MyBatisPlus版本问题
  • JVM的内存区域划分、类加载机制与垃圾回收原理
  • 三种方法解开——力扣3370.仅含置位位的最小整数
  • 网站建设字体变色代码义乌公司网站制作
  • 悟空AI CRM,企业客户管理的智慧之选
  • 在线营销型网站建设石家庄网页制作招聘信息
  • 【Python与Matlab数据分析对比】
  • 【问题】磁盘清理-Roaming目录
  • 手机wap网站模板定州住房和城乡建设局网站
  • HOW - React 状态模块化管理和按需加载(二)- 不同状态库哲学
  • 代理型人工智能(Agentic AI)系统带来了前所未有的安全挑战
  • SQlite:列级,表级约束
  • Rust性能优化:内存对齐与缓存友好实战
  • 现在做网站用什么工具seo推广优化方案
  • “我的电脑”图标没了怎么办 4种方法找回
  • 【架构】-- OpenFeign:声明式 HTTP 客户端框架深度解析
  • 召开网站建设培训会seo推广排名平台有哪些