lftp使用感觉

来源:互联网 发布:java 图片合成 模板 编辑:程序博客网 时间:2024/05/16 14:26

最近在测试公司内部的ftp服务器,下载和上传问题。

发现lftp比ftp(都是客户端)要强劲多了,使用后发现,ftp里的reget命令,是需要这个文件之前必须就存在的,另外ftp的断点重传不是自动,需要手工操作。

而使用lftp里的mget -c *.txt这样的命令是可以自动重连的(目前就只测试过网络断开后,过一会就重连上去,不知道长时间的断网是否还会继续重连)

这里转贴下常用的命令,方便自己查找,

首先,所有的lftp终端内的命令,都可以用
代码:help 命令名
的方式来查看帮助信息。
另外,lftp支持tab自动补全,记不得命令是,多打两个tab,就可以看到可能的选项了。

1、登录ftp
代码:lftp 用户名:密码@ftp地址:传送端口(默认21)
也可以先不带用户名登录,然后在接口界面下用login命令来用指定账号登录,密码不显示。

2、查看文件与改变目录
代码:ls
cd 对应ftp目录

嘿嘿,很简单吧?其实,在lftp终端中,前面带一个l的命令例如lcd,指的是local,就是在本机的操作,而对应的没有这个l的,都是对ftp site的操作。还有就是要执行本地终端命令,也可以用前面带一个!的方式。这样,配合起来,终端,本地的操作都很放遍。
例如,查看ftp上所有的以mp3为扩展名的文件:
代码:find . -name "*.mp3"

3、下载
get当然是可以的,还可以
代码:mget  -c *.pdf
把所有的pdf文件以允许断点续传的方式下载。m代表multi
代码:mirror aaa/
将aaa目录整个的下载下来,子目录也会自动复制
代码:pget -c -n 10 file.dat
以最多10个线程以允许断点续传的方式下载file.dat
可以通过设置pget:default-n的值而使用默认值。

4、上传
同样的put,mput,都是对文件的操作,和下载类似。
代码:mirror -R 本地目录名
将本地目录以迭代(包括子目录)的方式反向上传到ftp site。

5、模式设置。
代码:set ftp:charset gbk
远程ftp site用gbk编码,对应的要设置为utf8,只要替换gbk为utf8即可。
代码:set file:charset utf8
本地的charset设定为utf8,如果你是gbk,相应改掉。

代码:set ftp:passive-mode 1
使用被动模式登录,有些site要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0代表不用被动模式。

6、书签
其实命令行也可以有书签,在lftp终端提示符下:
代码:bookmark add ustc
就可以把当前正在浏览的ftp site用ustc作为标签储存起来。以后在shell终端下,直接
代码:lftp ustc
就可以自动填好用户名,密码,进入对应的目录了。
代码:bookmark edit
会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。

7、配置文件
/etc/lftp.conf
一般,我会添加这几行:
引用:set ftp:charset gbk
set file:charset utf8
set pget:default-n 5
这样,就不用每次进入都要打命令了。其他的set 可以自己tab然后help 来看。