diffnest / myblog

0 stars 0 forks source link

lftp 常用操作 #10

Open diffnest opened 6 years ago

diffnest commented 6 years ago

lftp 常用操作

最近有个需求,需要向对方服务器传输资料,方案讨论完之后决定采用lftp, 网上查阅一番资料,以及在领导言传身教之下,受益匪浅,特此记录一下

1.登录lftp
lftp -u 用户名,密码 sftp://IP地址 :端口号 
2.乱码问题解决
set ftp:charset gbk(或者 gb2312 或 utf-8) ##设置ftp端的编码格式
set file:charset utf-8 (...同上) ##设置本地编码格式
3.查找ftp端文件
ls *.txt ##查找当前目录下的所有txt文件
ls ./123/ ##列出123目录下所有文件
find . -name "*.txt"   ##递归查找站点上所有的txt文件
find ./xx -name "*.txt" ##查找xx目录下所有的txt文件

附1: ls第二次读取的是本地缓存,可以用 rels 代替 ls 或者catch off / catch on 来开关catch,catch flush清空本地catch
附2: 浏览本地目录的命令可用!ls, 如 !ls /usr/local/bin/
4.下载文件
下载文件之前要先设置好本地的目录,用来存放下载的文件
lcd /home/123/web   ##设置本地存放目录 默认为 /home/usr

get 123.txt     ##下载123.txt文件到 /home/123/web 中
get -c 123.txt ##断点续传下载
mget *.txt     ##批量下载所有txt文件
mget -c *.txt ##断点续传
mget -c ./123/aaa/*.txt   ##断点续传、批量下载ftp端aaa目录下的所有txt文件

pget -c -n 10 file.dat
##以最多10个线程以允许断点续传的方式下载file.dat
##可以通过设置 set pget:default-n 5 的值而使用默认值。

mirror aaa/
##将aaa目录整个的下载下来,子目录也会自动复制 本地自动建立目录
5.上传文件
put 123.txt     ##同下载
mput *.txt     ##同下载

mirror -R aaa/ ##同下载
6.多任务处理
ctrl+z ##将当前进行的任务移交后台处理
wait   ##将后台处理任务调至前台查看
jobs   ##查看后台进行的任务列表
kill all 或者 job_no ##删除所有任务 或 指定的任务

7.lftp -e 在选择后执行命令

lftp -u 用户名,密码  sftp://IP地址 :端口号 -e "ls | wc -l;quit”
lftp -u 用户名,密码  sftp://IP地址 :端口号 -e “mput ;quit“ 传输可以加nohup(不挂断运行)