lftp学习笔记

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

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值