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

lftp学习笔记

目录

  • 0. ftp vs. lftp
  • 1. 安装
  • 2. 常用命令
    • 2.1 登录
    • 2.2 文件管理
    • 2.3 文件传输
  • 3. 脚本编程
  • 4. 实践中的问题排查
  • 参考

0. ftp vs. lftp

lftp是一款文件传输工具,支持FTP、HTTP、SFTP、FISH等多种协议。

功能ftplftp
数据传输文件文件、文件夹
多线程传输支持
断点续传支持
脚本编程支持
后台执行任务支持

1. 安装

# 方法1. conda
conda install lftp# 方法2. centos root
yum install lftp

2. 常用命令

2.1 登录

lftp ftp://[user:password@]site[:port]lftp -u user,password ftp.example.com

2.2 文件管理

命令功能
pwd / lpwd显示远端/本地所在目录
ls / !ls显示远端/本地文件列表
cd / lcd切换远端/本地目录
mv移动远端文件
rm删除远端文件
mrm删除多个远端文件,支持通配符
mkdir建立远端目录
rmdir删除远端目录
du计算远端目录大小
exit退出ftp

2.3 文件传输

命令功能
get下载远端文件
mget下载远端文件,支持通配符 *
pget下载远端文件,支持多线程
reget断点续传
mirror同步目录
put上传文件
mput上传文件,支持通配符*
reput断点续传

数据下载示例

get remote-file [local-file]  #如省略本地文件名,则默认使用远程文件的文件名
mget -c *.db  # 把所有的db文件以允许断点续传的方式下载
pget -c -n 10 10G.file  以最多10个线程以允许断点续传的方式下载10G.file
mirror aaa/ #  将aaa目录整个的下载下来,子目录也会自动复制

数据上传示例

put local-file [remote-file]  #如省略远程文件名,则默认使用本地文件的文件名
put linux265.tar
mirror -R 本地目录名    #将本地目录以迭代(包括子目录)的方式反向上传到ftp站点

数据同步示例

lftp -e "mirror -c -e -P=20 --verbose /remote/path /local/path;quit;" ftp.government.gov
#lftp -e : 执行引号中的命令
#mirror: lftp同步命令
##-c: 断点续传(该参数不能和-n一起使用)
##-e: 删除远程目录上不存在文件?
##--parallel: 并行下载多个文件
##--verbose: 打印日志信息#扩展:可结合cronb实现定时同步

Linux / Unix lftp Command To Mirror Files and Directories
Mirroring an FTP Using lftp and cron

3. 脚本编程

lftp -u username,password ftp.example.com -p 21
lftp -u username,password ftp.example.com -c "ls"
lftp -u username,password ftp.example.com -e "cd /path/to/a; put file.txt; quit"
lftp -u username,password ftp.example.com -e "mirror /remote/dir /local/dir; quit"
#!/bin/bash
HOST="ftp.example.com"
USER="yourusername"
PASS="yourpassword"lftp -u ${USER},${PASS} ${HOST} <<EOF
cd /path/to/destination
limit-rate 200KB/s
put /path/to/localfile
exit
EOF

4. 实践中的问题排查

lftp -u myuser,mypassword 1.2.3.4 -p 5555
ls
`ls' at 0 [FEAT negotiation...]    # Q1. FEAT negotiation# A1. use sftp protocol
lftp -u myuser,mypassword sftp://1.2.3.4 -p 5555
ls
ls: Fatal error: Host key verification failed.    # Q2.Host key verification# A2. added RSA to the list of known hosts
ssh -p 5555 myuser@1.2.3.4
#Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
#ctrl+C终止即可lftp -u myuser,mypassword sftp://1.2.3.4 -p 5555
ls    #恢复正常

参考

lftp命令
LFTP 命令行工具常见用法大全详解
LFTP: how to fix the “Fatal error: Host key verification failed” error

http://www.lryc.cn/news/271090.html

相关文章:

  • idea 插件开发之 HelloWorld
  • 极速文件搜索工具Everything结合内网穿透实现远程搜索本地文件
  • 【PowerMockito:编写单元测试过程中采用when打桩失效的问题】
  • [蓝桥杯 2018省赛]回家路费
  • 学生管理系统(vue + springboot)
  • 算法(3)——二分查找
  • golang实现可中断的流式下载
  • SpringBoot 医药咨询系统
  • C语言转WebAssembly的全流程,及Web端调用测试
  • 前端--基础 目录文件夹和根目录 VScode打开目录文件夹
  • 传感器原理与应用复习--超声波、微波、红外及热电偶传感器
  • matlab概率论例子
  • Appium+python自动化(一)- 环境搭建—上(超详解)
  • 基于SpringBoot的精简博客系统
  • STM32的在线升级(IAP)实现方法:BOOT+APP原理详解
  • 【芯片DFX】Arm调试架构篇
  • ES应用_ES实战
  • Ubuntu上如何找到设备,打印串口日志
  • 本地映射测试环境域名,解决登录测试环境后,也可以使用本地域名访问,可以正常跑本地项目
  • VSCode使用Remote SSH远程连接Windows 7
  • uniapp中uview组件库丰富的Calendar 日历用法
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)
  • Redis 数据结构和常用命令
  • Docker 容器命令总汇
  • react + redux 之 美团案例
  • 【形式语言与自动机/编译原理】CFG-->Greibach-->NPDA(2)
  • 14.用户管理
  • 【交叉编译环境】安装arm-linux交叉编译环境到虚拟机教程(简洁版本)
  • 感染了后缀为.[sqlback@memeware.net].2700勒索病毒如何应对?数据能够恢复吗?
  • [Linux开发工具]——vim使用