lftp的用法
lftp是Linux下的一个ftp工具,支持ftp, ftps, http, https, hftp, fish, sftp, file, bittorrent等协议(支持https 和 ftps,必须编译时和 openssl library 一起编译)。lftp 内建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z), 或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值来决定目前这个命令是否要执行(&& ||)。在结束 lftp 时, 如果还有程序执行中, lftp会将自己切换到no hup模式並放到背景执行,因此不必担心正在执行的任务会结束。
1、配置
debug 3
set ftp:charset GBK
set file:charset UTF-8
#set ftp:passtive-mode no
#alias utf8 " set ftp:charset UTF-8"
#alias gbk " set ftp:charset GBK"
2、登录服务器
cb@127:~$ lftp -c bookmark list
net ftp://ftp.net/
lingBooks http://24.72.100.108/lingBooks/
zdhz 23.65.2.16
lftp 23.65.2.16:~> user cb
口令:
lftp cb@23.65.2.16:~> slot zdhz
lftp zdhz cb@23.65.2.16:~> slot net
lftp net cb@23.65.2.16:~> open ftp.net
cd 成功, 当前目录=/
lftp net ftp.net:/> slot zdhz
lftp zdhz cb@23.65.2.16:~> slot net
lftp net ftp.net:/>
3、下载
lftp zdhz cb@23.65.2.16:/working> lcd ~/tmp/
lcd 成功, 本地目录=/home/cb/tmp
lftp zdhz cb@23.65.2.16:/working> get kaiti.rar
1782318 字节 已传输
lftp cb@23.65.2.16:/working> get kaiti.rar -o ~/tmp 指挥信息系统军事需求分析.doc -o ~/doc
1806382 字节 已传输
总共传输 2 个文件
lftp zdhz cb@23.65.2.16:/> mget ebook/source* -O ~/tmp
52511692 字节, 在 5 秒中传输完毕 (10.96M/s)
总共传输 2 个文件
8004043 字节, 在 2 秒中传输完毕 (3.72M/s)
总共传输 2 个文件
lftp zdhz cb@23.65.2.16:/working> mirror network ~/tmp/
全部: 1 个目录,9 个文件, 0 个符号链接
新建: 9 个文件, 0 个符号链接
1453557 字节 已传输
lftp zdhz cb@23.65.2.16:/> pget -n 4 ebook/source1.pdf ebook/source2.pdf -o ~/tmp
52514342 字节, 在 7 秒中传输完毕 (7.34M/s)
4、上传
lftp zdhz cb@23.65.2.16:/> put source1.pdf -o ebook/ source2.pdf -o ebook/ Linux命令大全.chm
52866871 字节, 在 5 秒中传输完毕 (11.09M/s)
总共传输 3 个文件
lftp zdhz cb@23.65.2.16:/> mput source*.pdf -O ebook/
52511692 字节, 在 4 秒中传输完毕 (11.14M/s)
总共传输 2 个文件
lftp zdhz cb@23.65.2.16:/> mirror -R ~/ebook/Linux/LFS/ ebook/
全部: 15 个目录,137 个文件, 0 个符号链接
新建: 137 个文件, 0 个符号链接
4456290 字节, 在 6 秒中传输完毕 (688.9K/s)
lftp zdhz cb@23.65.2.16:/> ls ebook/
total 0
drw-rw-rw- 1 user group 0 Sep 28 16:50 .
drw-rw-rw- 1 user group 0 Sep 28 16:50 ..
drw-rw-rw- 1 user group 0 Sep 28 16:50 LFS
5、删除服务器上文件
6、任务队列
lftp cb@23.65.2.16:/pub/Iso> queue
0 queue (ftp://cb@23.65.2.16)
Now executing: 1 get rettcd.iso
Commands queued:
'rettcd.iso' at 4772864 (9%) 3.00M/s eta:14s Receiving data
7、命令行下载
$ lftp -c 'pget -n $Thread_num -c $URL -o $SAVE_PATH' &
$ lftp -c 'torrent ubuntu-14.04-dvd-amd64.iso.torrent' &
小结:
- 常用命令:cd, lcd, get, mget, put, mput, mirror, rm, mrm, pget, queue, jobs
- mget, mput, mrm可使用通配符*匹配多个文件
- 默认mirror:set-permissions on,则mirror 会拷贝文件和目录的(原有)权限,否则(off)利用文件系统创建文件和目录的规则重新设置文件目录的权限(文件666 & umask,目录777 & umask);和-p(或—no-perms)将该变量设置为off是等效的;建议在~/.lftprc中将该变量设置为off状态:set mirror:set-permission off
- -O指定mput和mget命令上传或下载的基目录,因此多个文件不用每个文件都使用-o选项指定目标路径。
lftp的用法的更多相关文章
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)(zz)
linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl) 分类: linux2011-10-10 13:21 8773人阅读 评论(1) 收藏 举 ...
- 【转载】linux lftp命令 详解
站在前辈的肩上,别人会的你要尽快的学会练好! lftp比ftp要好用,mget的时候,迹象要比较明显的迹象,比如下载进度! linux lftp命令 1.登录ftp代码:lftp 用 ...
- lftp
linux安装FTP工具 lftp及使用教程 来源:网络 发布时间:2013-05-24 15:21 字体:[大 中 小] 点击2510次 linux下可以直接通过FTP命令进行ftp上传下载,不 ...
- Lftp 简单使用步骤
有一用户需要在Linux上面将数据备份至存储上面,但是不支持挂载. 只可以FTP. 找了下,Lftp 这款FTP Client 满足用户的需求. 相关资料参考:http://blog.chinauni ...
- lftp命令详解
lftp.sh自动上传脚本: #!/bin/bash echo -e "\nScript start at \033[43;35m `date "+%H:%M:%S"` ...
- 【linux】下载命令lftp\sftp\wget
sftp sftp(安全文件传输协议)与ftp 有着几乎一样的语法和功能.FTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式.它并不使用ftp守护进程(ftpd或wu-ft ...
- Linux系统中使用lftp命令实现FTP上传下载
Linux 下常用的操作命令有 ftp. lftp 和 sftp,图形化界面非常好用的有 FileZilla.不过在服务器命令界面中,lftp使用比较方便,功能也比ftp更加强大.lftp的界面很像L ...
- linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)
因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...
随机推荐
- 老司机带你开飞机 一: mssql on linux 安装指导
通常在本机开发环境中需要搭建所有的服务,还要修改本地的hosts,实在是不胜其烦.如今有了docker,完全不用污染本地环境,且看老司机带你搭建一个asp.net core的开发环境集群.愿你走出虚拟 ...
- [Git]09 如何为命令起外号
Git并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名.来看看下面的例子: $ git config --global ali ...
- MySQL修改表字段相关信息
昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...
- CAShapeLayer+CADisplayLink 波浪动画
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #1e9421 } p.p2 { margin: 0.0px 0. ...
- 云计算之路-阿里云上:负载均衡错误修改Cookie造成用户无法登录
最近陆续有用户反馈在我们网站上登录时遇到登录死循环问题.输入用户名与密码提交后,显示登录成功,但跳转到目标网址后(由于依然处于未登录状态)又跳转回登录页面,再次登录,再次这样...就这样一直循环,怎么 ...
- scala 异常处理机制
有经验的码农都知道,程序开发的差不多的时候,为了提高程序的稳健性,是一定要加上异常处理机制的 在scala中,用try/catch/finally实现该功能,这个在我的博客,数字转汉字小工具中有体现, ...
- 【python的基本数据类型及进制扫盲】
一.进制 1.进制简介 进制就是进位制,是人们规定的一种进位方法.计算机底层的数据运算和存储都是二进制数据.计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别. 2.常用进制 对 ...
- background新增的N个强悍功能!!!
background在CSS3中新增样式: [ ] 首先我们先回顾下background的原有样式: background-color 背景颜色 相关属性值: 关键字:red,blue,yellow等 ...
- 基于Kubernetes的WAF集群介绍
Kubernetes是Google开源的容器集群管理系统.它构建Docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,可看作是基于容器技术的PaaS平台. 本文旨 ...
- React入门---JSX内置表达式-6
个人理解:接触的JSX就是在React中render方法里面的js,因为里面只能有一个节点,所以你写的东西都在一个div中,要有js所以通过JSX来表达.(个人菜鸟理解,欢迎指正) React 使用 ...