提起lftp命令,真的是相当的强大啊。
lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常
想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。
1、lftp登陆:
pwd:*****
或 open ftp://yourname@site
2、lftp基本操作
命令行语法
要看lftp的命令行语法,只要在shell中输入lftp --help
lftp [OPTS]
'lftp'是在 rc 文件执行后 lftp 执行的第一个命令
-f 执行文件中的命令后退出
-c 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出
其他的选项同 'open' 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口
主机名, URL 或书签的名字
如果在命令行中输入的站点名称,lftp将直接登录站点,比如
$lftp ftp://***.
如果在命令行不输入站点名称,则必须在进入到lftp界面后用open命令打开
lftp :~> open ftp://***.
常用命令
lftp ................:/> get -c ls-lR.txt
lftp ...............:/> mget *.txt
* 镜像(反镜像即上传)一个目录,可以用多个线程并行镜像一个目录(--parallel=N)
lftp ................:/> mirror incoming local_name
lftp ................:/> mirror -R local_name
lftp ................:/> mirror --parallel=3 incoming local_name
* 多线程下载,类似网络蚂蚁的功能;缺省是5个线程
lftp ................:/> pget -n 4 ls-lR.txt
* 后台任务管理
缺省情况下,按 Ctrl+z,正在执行的任务将转为后台执行,也可以在命令行末尾加&符号使任务在后台执行。用jobs命令可以查看所有的后台进程。用queue命令可以排队新的
任务。如果退出lftp是还有任务在后台执行,lftp将转为后台执行。
* 其它用法
lftp支持类似bash的管道操作,例如用下面的命令可以将ftp服务器上的特定目录下(也可以是整个站点)所有文件的大小存到本地的文件ls.txt中
lftp ................:/> du incoming > ls.txt
相关文件
全局配置文件,实际位置依赖系统配置文件目录,可能在/etc,也可能在/usr/local/etc
~/.lftp/rc, ~/.lftprc
用户配置文件,将在/etc/lftp.conf之后执行,所以这里面的设置会覆盖/etc/lftp.conf中的设置。
lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你
可以在 ~/.lftprc 里写入一行
debug 3
就可以看到出错信息了。
更多的配置选项请查man手册或在lftp界面内用命令 set -a 获得。
当lftp转为后台非挂起模式执行时,输出将重定向到这里
~/.lftp/bookmarks
这是lftp存储书签的地方,可以lftp查看bookmark命令
~/.lftp/cwd_history
这个文件用来存储访问过的站点的工作目录
~/.lftprc
在用lftp访问国内一些ftp服务器时,往往看到的中文是乱码
这是由于服务器和本地编码不一致造成的。
只要在主目录下新建一个文件~/.lftprc或者~/.lftp/rc,并在其中加入以下内容:
debug 3set ftp:charset GBKset file:charset UTF-8#set ftp:passtive-mode no#alias utf8 " set ftp:charset UTF-8"#alias gbk " set ftp:charset GBK"
登录ftp服务器
lftp user:password@site:port
lftp site -p port -u user,password
lftp site:port -u user,password
上面的几种方式都能正常工作,不过密码都是明文,这样好像不太安全哦。
可以这样:
lftp user@site:port
系统会提示输入password,密码就回显为******了
如果有类似leapftp的站点管理器就好了,其实lftp早就给我们想好了: 这就是bookmark。
常用命令
在终端运行
man lftp
或登录ftp后输入
help
就可以看到命令列表
下面我们看一下lftp常用的命令:
ls
显示远端文件列表(!ls 显示本地文件列表)。
cd
切换远端目录(lcd 切换本地目录)。
get
下载远端文件。
mget
下载远端文件(可以用通配符也就是 *)。
pget
使用多个线程来下载远端文件, 预设为五个。
mirror
下载/上传(mirror -R)/同步 整个目录。
put
上传文件。
mput
上传多个文件(支持通配符)。
mv
移动远端文件(远端文件改名)。
rm
删除远端文件。
mrm
删除多个远端文件(支持通配符)。
mkdir
建立远端目录。
rmdir
删除远端目录。
pwd
显示目前远端所在目录(lpwd 显示本地目录)。
du
计算远端目录的大小
!
执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)
lcd
切换本地目录
lpwd
显示本地目录
alias
定义别名
bookmark
设定书签。
exit
退出ftp
快捷书签
ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。
3、mirror 同步镜像,备份服务器文件
解决如何备份服务器端文件的问题。
了解了mirror指令的用法后,发现比较适合而且好用。
基本使用方法:
1)、下载服务器端文件:
# mirror –vn RCD LCD //RCD为远程路径,LCD为本地路径
2)、上传文件:
# mirror –R LCD RCD
自动同步的脚本:
echo “script start at `date ”+%Y-%m-%d %H:%M:%S”
HOST=”hostname”
USER=”yourname”
PASS=”password”
LCD=”LocalePath”
RCD=”RemotePath”
/usr/sbin/lftp << EOF
open ftp://$USER:$PASS@$HOST
mirror $RCD $LCD
EOF
echo “script end at “ `date ”+%Y-%m-%d %H:%M:%S”
有关linux下lftp命令的用法,就介绍这些吧,希望对大家有所帮助。
本文以ubuntu系统为例,介绍下lftp上传或下载文件夹的方法。
安装:
"apt-get install lftp" or "apt-get install lftp-ssl"
连接ftp服务器,实现镜像功能:
mirror -R <the local dirname>
此命令将上传或下载整个目录。
要上传或下载整个目录到ftp服务器上,用ftp命令是行不通的,必须用lftp。
例如:
上传整个文件夹:mirror -R 本地文件夹
下载整个文件夹:mirror 远端文件夹 本地文件夹
建议大家好好掌握下这个命令的用法,用于网站镜像是相当不错的。
本节记录一些lftp常用的命令和参数。
有关lftp命令的更详细帮助,可以用如下命令:
lftp –help
或在启动lftp后直接输入:
help [command]
例如:
help mirror
下面开始今天的内容,lftp常用命令总结。
1、匿名登录ftp站点:
或
lftp
然后
2、使用用户名(name)和密码(pass)登录ftp站点:
或
lftp ftp://your-domain/ -u name
然后输入密码。
3、指定端口号为9000:
4、下载单个文件:
5、断点续传:
6、批量下载文件:
7、下载一个目录:
或
mget -d remote_dir_name/*
-d参数表示在本地创建与远端目录相同名字的目录并把远端目录下所有文件下载到本地新建目录。
8、上传一个本地目录:
或
mput -d local_dir_name/*
9、10线程镜像一个目录:
10、8线程下载一文件:
该命令缺省线程为5。
11、只上传本地目录中比远程目录中新的文件:
12、后台任务管理:
使用CTRL+Z使当前任务转入后台,或者在执行任务命令时加上“&”符号,这些和shell中一样,使用”jobs”查看后台进程,使用“queue”排队新的任务。如果lftp在退出时还有任
务在进行,则lftp自动进入后台执行。
13、读取站点中所有文件的大小到本地记录文件:
14、书签功能:
bookmark [SUBCMD]
子命令:
add []:把当前位置或特定位置加入以“name”命名的书签。
del :删除指定书签。
edit:编辑书签。
list:列出书签。
15、删除目录:
建立目录:
16、搜索文件:
或
find -d 3 | grep ReadMe.txt
此处搜索深度为3。
有关lftp命令的用法,就介绍这些了,还是比较全面的,希望对大家有所帮助。