lftp是老牌,“万里长城永不倒”类型的王道unix/linux下的ftp客户端,可是很多新手总是想要找一个所谓
的ftp客户端。由于lftp的命令行特性,总觉得可能是高手才用的东东,其实不然,俺老pan也就只有几板斧,照样用的很high~下面容俺一一道来:
首先,所有的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 来看。
忘了多线程了,汗~加上
还有配置文件。
++++++++
受教,顺便插两句。
首先,我个人觉得最好的是把个人的配置文件放在自己的家目录下面,这样重装也不会丢失。
对应的文件是 ~/.lftp/rc
其次,如果对于经常使用不同编码的 ftp server 的朋友,或经常使用不同的选项的,可以设置一些别名,这样会方便很多。
比如我经常访问 gbk 编码的 ftp, 还有 utf8 编码的,那么我在 ~/.lftp/rc 中这样写
代码:
alias gbk set ftp:charset gbk; set file:charset UTF-8
alias utf8 set ftp:charset UTF-8; set file:charset UTF-8
那么当我访问一个 utf8 站点的时候,如果发现乱码,只要在 lftp 的命令提示符号下面输入 utf8 就可以将编码调整正常。同理,如果访问 gbk 的发现乱码就输入 gbk, 马上正常。
当然上面只是一个简单的例子,也可以写一些其他的设置,比如常用的调整主动或被动模式的,
set ftp:passive-mode on/off 等,这样放在别名中会显得比较方便。
++++++++
1.lftp下載上傳限速
lftp 的上傳下載的速度限制
於 lftp.conf 中加入
set net:limit-rate 10000,10000
2. lftp 缺省不会显示 ftp 服务器的欢迎信息和错误信息,这在很多时候不方便,因为你有可能想知道这个服务器到底是因为没开机连不上,还是连接数已满。如果是这样,你可以在 ~/.lftprc 里写入一行
debug 3
++++++++
下载文件命令:续传,下载多个文件,多线程
lftp> get -c filename
lftp> mget *.file
lftp> pget -n 4 filename
下载/上传/多线程 文件夹
lftp> mirror dir
lftp> mirror -R dir
lftp> mirror --parallel=3 dir
纠正乱码显示中文及显示登录消息设置,修改/etc/lftp.conf,加入一段
#myset begin
set ftp:charset "gbk"
set file:charset "UTF-8"
#end
debug 3
更改本地下载目录
ftp> lcd ldir
默认为/home/user
比如改成lcd /home/user/download
队列命令(不必等到下载完毕再输入命令)
> queue
查看后台队列
> jobs
加入队列
>queue get file
>jobs
> queue start
> jobs
ctrl+z 后台运行
退出
ctrl+d
$lftp
>help lftp
可以查看lftp的更多命令,其中尤其是put, mput, 和get,mget完全对应。
例如
上传单个html文件到服务器一级目录下
>put localdir/index.html
上传多个html文件到服务器一级目录下
>mput localdir/*.html
++++++++
2.远程文件目录操作
cat[-b]
:滚屏显示文件的内容。
more:分屏显示文件的内容。
zcat:滚屏显示.gz文件的内容。
zmore:分屏显示.gz文件的内容。
mv:文件改名。
rm[-r][-f]:删除文件。
mrm:删除文件(可用通配符)。
du[opts]:显示整个目录的容量。
find[directory]:递归显示指定目录的所有文件(用于ls–R失效时)。
3.上传和下载
get[opts][-o]:下载文件,可以改名后存储在本地。
mget[opts]:下载多个文件。
pget[opts][-o]:多线程下载。
regetrfile[-olfile]:下载续传。
put[opts][-o]:上传文件,可以改名后存储在远程。
mput[opts]:上传多个文件。
reputlfile[-orfile]:上传续传。
4.连接会话和队列管理
scache[]:显示所有连接会话或切换至指定的连接会话。
queue[opts][]:将命令置于队列等待执行。
jobs[-v]:显示后台执行的作业。
wait[]|all:将后台进程换到前台执行(fg是wait的别名)。
killall|:删除后台作业。
exitbg:退出lftp后,所有任务移至后台继续执行。
5.Cache管理
cache[SUBCMD]:管理lftp的cache。
[re]ls[args]:读取cache显示远程文件列表,rels不读取cache。
[re]cls[opts][path/][pattern]:cls提供了比ls更丰富的列表功能。
[re]nlist[]:nlist只显示文件名(没有颜色区分)。
6.站点镜像
mirror[opts][remote[local]]:用于实现站点镜像。
7.书签管理
bookmark[SUBCMD]:用于管理书签。
8.环境参数设置
set[opts][[]]:用户设置lftp的环境参数。
提示:lftp的功能
支持ftp、ftps、http、https、hftp、fish等传输协议;
支持FXP(在两个FTP服务器之间传输文件);
支持代理;
支持多线程传输;
支持传输队列(queue);
支持书签;
类似bash,它提供后台命令、nohop模式、命令历史、命令别名、命令补齐
和作业控制支持。
支持镜像(mirror);
++++++++
++++++++
++++++++
++++++++
阅读(412) | 评论(0) | 转发(0) |