lftp的用法

lftp是Linux下的一个ftp工具,支持ftp, ftps, http, https, hftp, fish, sftp, file等协议(支持https 和 ftps,必须编译时和 openssl library 一起编译)。lftp 内建了 shell-like 的命令格式, 允许在背景同时执行多个命令(&)。所有背景执行的工作都是在同一个程序中(process), 能将前景执行的命令放到背景执行(Ctrl-z), 或从背景拿回前景执行(wait 或 fg), 甚至还可以经由上个命令的传回值来决定目前这个命令是否要执行(&& ||)。在结束 lftp 时, 如果还有程序执行中, lftp会将自己切换到no hup模式並放到背景执行,因此不必担心正在执行的任务会结束。

1、配置

在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码,这是由于服务器和本地编码不一致造成的。我们只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc,并在其中加入以下内容:
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、登录服务器

//显示书签
[email protected]:~$ lftp -c bookmark list
net ftp://ftp.net/
lingBooks http://24.72.100.108/lingBooks/
zdhz 23.65.2.16

[email protected]:~$ lftp zdhz
lftp 23.65.2.16:~> user cb
口令:

//同时登录多个FTP服务器,使用slot设定别名,并在它们之间切换
lftp [email protected]:~> slot zdhz
lftp zdhz [email protected]:~> slot net
lftp net [email protected]:~> open ftp.net
cd 成功, 当前目录=/
lftp net ftp.net:/> slot zdhz
lftp zdhz [email protected]:~> slot net
lftp net ftp.net:/>

3、下载

lftp zdhz [email protected]:/> cd working/
lftp zdhz [email protected]:/working> lcd ~/tmp/
lcd 成功, 本地目录=/home/cb/tmp
lftp zdhz [email protected]:/working> get kaiti.rar
1782318 字节 已传输

//指定下载文件的目标目录,需要每个文件之后用-o选项(小写),否则上传到服务器的当前目录
lftp [email protected]:/working> get kaiti.rar -o ~/tmp 指挥信息系统军事需求分析.doc -o ~/doc
1806382 字节 已传输
总共传输 2 个文件

//使用通配符下载多个文件
lftp zdhz [email protected]:/working> mget *.doc
202969 字节 已传输
总共传输 6 个文件

//指定下载的基目录(base),使用-O选项,注意是大写
lftp zdhz [email protected]:/> mget ebook/source* -O ~/tmp
52511692 字节, 在 5 秒中传输完毕 (10.96M/s)
总共传输 2 个文件

lftp [email protected]:/ebook> mget 十天学会PHP.rar 程序设计实践.rar -O ~/tmp/
8004043 字节, 在 2 秒中传输完毕 (3.72M/s)
总共传输 2 个文件

//镜像下载整个目录
lftp zdhz [email protected]:/working> mirror network ~/tmp/
全部: 1 个目录,9 个文件, 0 个符号链接
新建: 9 个文件, 0 个符号链接
1453557 字节 已传输

//多线程下载, -o 选项指定下载的目标目录,注意是小写。
lftp zdhz [email protected]:/> pget -n 4 ebook/source1.pdf ebook/source2.pdf -o ~/tmp
52514342 字节, 在 7 秒中传输完毕 (7.34M/s)

4、上传

//指定上传的目标目录需要每个文件之后用-o选项(小写),否则上传到服务器的当前目录
lftp zdhz [email protected]:/> put source1.pdf -o ebook/ source2.pdf -o ebook/ Linux命令大全.chm
52866871 字节, 在 5 秒中传输完毕 (11.09M/s)
总共传输 3 个文件

//使用通配符上传多个文件,注意:使用-O参数指定上传的基目录,要大写
lftp zdhz [email protected]:/> mput source*.pdf -O ebook/
52511692 字节, 在 4 秒中传输完毕 (11.14M/s)
总共传输 2 个文件

//镜像上传整个目录,可用于同步
lftp zdhz [email protected]:/> mirror -R ~/ebook/Linux/LFS/ ebook/
全部: 15 个目录,137 个文件, 0 个符号链接
新建: 137 个文件, 0 个符号链接
4456290 字节, 在 6 秒中传输完毕 (688.9K/s)
lftp zdhz [email protected]:/> 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、删除服务器上文件

//删除多个文件
lftp zdhz [email protected]:/> rm ebook/source1.pdf Linux命令大全.chm
rm 成功, 删除 2 个文件

//删除整个目录
lftp zdhz [email protected]:/> rm -r ebook/
rm 成功, 删除 `ebook/‘

//删除某个目录下的多个文件
lftp zdhz [email protected]:/> mrm ebook/*.pdf
rm 成功, 删除 2 个文件

6、任务队列

对于那些只能一个IP只能登录一次的服务器,如果想同时下载多个不同目录下的文件,就只能一次下载一个,等到下载完了第一个才能再切换到别的目录去下载第二个, 这时 lftp 的 queue 派上用场了。
lftp [email protected]:/pub/Iso> queue

lftp [email protected]:/pub/Iso> jobs
0 queue (ftp://[email protected])
Queue is stopped.

lftp [email protected]:/pub/Iso> queue get rettcd.iso

lftp [email protected]:/pub/Iso> jobs
0 queue (ftp://[email protected])
Queue is stopped.
Commands queued:

1. get rettcd.iso

lftp [email protected]:/pub/Iso> queue mirror Linux/

lftp [email protected]:/pub/Iso> jobs
0 queue (ftp://[email protected])
Queue is stopped.
Commands queued:

1. get rettcd.iso

2. mirror Linux/

lftp [email protected]:/pub/Iso> queue start

lftp [email protected]:/pub/Iso> jobs
0 queue (ftp://[email protected])
Now executing: 1 get rettcd.iso
Commands queued:

1. mirror Linux/

2. get rettcd.iso

‘rettcd.iso‘ at 4772864 (9%) 3.00M/s eta:14s Receiving data

小结:

  1. 常用命令:cd, lcd, get, mget, put, mput, mirror, rm, mrm, pget, queue, jobs
  2. mget, mput, mrm可使用通配符*匹配多个文件
  3. 默认mirror:set-permissions on,则mirror 会拷贝文件和目录的(原有)权限,否则(off)利用文件系统创建文件和目录的规则重新设置文件目录的权限(文件666 & umask,目录777 & umask);和-p(或—no-perms)将该变量设置为off是等效的;建议在~/.lftprc中将该变量设置为off状态:set mirror:set-permission off
  1. -O指定mput和mget命令上传或下载的基目录,因此多个文件不用每个文件都使用-o选项指定目标路径。

=-=-=-=-=
Powered by Blogilo

时间: 2024-08-26 08:57:32

lftp的用法的相关文章

LINUX SHELL脚本攻略笔记[速查]

Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述符和重定向 cat 数组和关联数组 alias date 调试脚本 函数和参数 管道 读取命令输出 read 字段分隔符和迭代器 循环 比较和测试 find xargs tr md5sum sha1sum 对目录进行校验 sort uniq tempfile split bash变量匹配切分 exp

vsftpd的安装配置及lftp命令的使用

vsftpd(very secure FTP daemon)是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它是一个安全.高速.稳定的FTP服务器 一.FTP FTP(File Transfer Protocol,文件传输协议)用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件. 1.ftp基于C/S架构 client: ftp.lftp.lftpge

linux下使用lftp的小结

今天在解决一个远程服务器备份的问题时,用到了lftp的相关知识.整理如下: lftp的功能比较强大,相比原来用ftp,方便了很多. 1.登陆: lftp ftp://[email protected] pwd:***** 或 open ftp://[email protected] 2.基本操作(转) lftp使用介绍lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含op

linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)

因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp,wget,curl. rcp rcp不是一种安全的的传输文件的方式,rcp通过rsh(rsh见下面)来执行远程命令,要使用rcp必须经过一些配置,现在rcp已经被scp取代了,常用scp来进行文件传输.要使用rcp,需要具备以下条件: (1)如果系统中有/etc/hosts 文件,应确保该文件包含要

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) 收藏 举报 服务器linuxftp服务器文档commandssh 目录(?)[+] 因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp,wget,curl. r

lftp命令详解

1.登录ftp代码:lftp 用户名:密码@ftp地址:传送端口(默认21)用法(1)lftp username:[email protected]:21(2)lftp [email protected] 回车     ##默认21端口 回车后输入密码(3)lftp 127.0.0.1 回车   ##回车后 login 登录(4)lftp 回车 --> open 127.0.0.1 --> login 登录 2.lftp中文乱码问题登录后看到的都是中文乱码(因为一般本地都是utf-8的编码),

Linux系统中使用lftp命令实现FTP上传下载

Linux 下常用的操作命令有 ftp. lftp 和 sftp,图形化界面非常好用的有 FileZilla.不过在服务器命令界面中,lftp使用比较方便,功能也比ftp更加强大.lftp的界面很像Linux的shell,有命令补全.历史记录.允许多个后台任务执行.书签.排队.镜像.断点续传.多进程下载等功能. 登录ftp命令 代码: lftp 用户名:密码@ftp地址:传送端口(默认21) 用法 (1)lftp username:[email protected]:21 回车 (2)lftp

Linux里lftp总结

lftp的功能比较强大,相比原来用ftp,方便了很多. 1.登陆: lftp ftp://[email protected] pwd:***** 或 open ftp://[email protected] 基本操作(转) lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库).llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执

实现vsftp虚拟用户和iptables基本用法

1.搭建vsftpd服务器 1.安装vsftpd服务 [root@centos7 ~]#yum install -y vsftpd 2.启动服务 [root@centos7 ~]#systemctl start vsftpd [root@centos7 ~]#ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:111 *:* LISTEN 0 5 192.168.122.1:53 *:*