lftp学习笔记

0. ftp vs. lftp

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

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

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站点

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

相关推荐

  1. lftp学习笔记

    2023-12-28 23:40:06       70 阅读
  2. LTP测试工具

    2023-12-28 23:40:06       37 阅读
  3. 学习笔记

    2023-12-28 23:40:06       29 阅读
  4. 学习笔记:机器学习

    2023-12-28 23:40:06       79 阅读
  5. 【OpenCV学习笔记】- 学习笔记目录

    2023-12-28 23:40:06       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 23:40:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 23:40:06       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 23:40:06       87 阅读
  4. Python语言-面向对象

    2023-12-28 23:40:06       96 阅读

热门阅读

  1. 字符串拼接js

    2023-12-28 23:40:06       57 阅读
  2. 将anaconda3的虚拟环境安装至指定位置

    2023-12-28 23:40:06       47 阅读
  3. 二、C#基础语法( 变量与数据类型)

    2023-12-28 23:40:06       58 阅读
  4. 鹏城杯2023初赛 Reverse WriteUp

    2023-12-28 23:40:06       115 阅读
  5. 用户表格及筛选表单配置 - PC通用管理模块(1)

    2023-12-28 23:40:06       69 阅读
  6. vue defineAsyncComponent 异步加载组件

    2023-12-28 23:40:06       60 阅读
  7. vue获取当前页面的路由,判断是否为指定页面

    2023-12-28 23:40:06       62 阅读
  8. 网络编程 day3

    2023-12-28 23:40:06       57 阅读
  9. css中Link和@import之间有什么区别?

    2023-12-28 23:40:06       59 阅读
  10. CSS新手入门笔记整理:CSS3选择器表

    2023-12-28 23:40:06       51 阅读
  11. Day01-Vue

    2023-12-28 23:40:06       53 阅读