[教学]lftp使用方法

上网、浏览、聊天、下载等
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

[教学]lftp使用方法

#1

帖子 xiechy » 2007-06-08 17:54

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 来看。

忘了多线程了,汗~加上
还有配置文件。
头像
jupengfei
帖子: 1258
注册时间: 2006-10-31 11:02
来自: Beijing

#2

帖子 jupengfei » 2007-06-08 18:10

不顶是傻瓜
头像
rhfcaesar
帖子: 2996
注册时间: 2005-11-17 15:45
来自: 湖北

#3

帖子 rhfcaesar » 2007-06-08 18:32

非顶不可!
头像
zhan
帖子: 1880
注册时间: 2005-08-15 0:04
来自: 南7技校

#4

帖子 zhan » 2007-06-08 21:29

受教,顺便插两句。

首先,我个人觉得最好的是把个人的配置文件放在自己的家目录下面,这样重装也不会丢失。

对应的文件是 ~/.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 等,这样放在别名中会显得比较方便。
飞得高,飞得低,学习再学习,多少大秘密!
http://zhan.blog.ubuntu.org.cn
雕啸长空
帖子: 1897
注册时间: 2006-09-12 14:09

#5

帖子 雕啸长空 » 2007-06-08 21:38

赞....楼主回来就出好东西,收藏
Fair winds and following seas !
cjkcjk
帖子: 28
注册时间: 2007-05-29 21:55

#6

帖子 cjkcjk » 2007-06-08 22:02

good!!!!!!!楼主回来就出好东西,收藏.................
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#7

帖子 xiechy » 2007-06-08 23:22

zhan 写了:受教,顺便插两句。

首先,我个人觉得最好的是把个人的配置文件放在自己的家目录下面,这样重装也不会丢失。

对应的文件是 ~/.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 等,这样放在别名中会显得比较方便。
呵呵,对头,配置文件一般在自己主目录的好,而且alias我确实也没有用过~吸取校友意见~
主要是我机子其他人也有用的,就做了全局设置~其实按照debian的policy,如果conf文件有变化,更换时会提示的~我一般也喜欢此时看看具体的变化,如果没什么变化,就使用旧版本,如果有变化,有时在个人配置文件中的项目也会有问题~以前mysql更新时有过惨痛的经历~
zhengdsp
帖子: 18
注册时间: 2007-05-18 13:11

#8

帖子 zhengdsp » 2007-06-09 12:58

请问如果我在/a/b目录下想再 想回 到/a下怎么办 ?
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#9

帖子 xiechy » 2007-06-09 16:05

代码: 全选

cd ..
和终端一样~~汗~不知道怎么说了~
zhengdsp
帖子: 18
注册时间: 2007-05-18 13:11

#10

帖子 zhengdsp » 2007-06-09 16:42

xiechy 写了:

代码: 全选

cd ..
和终端一样~~汗~不知道怎么说了~

找到了 cd ~/ 可以
头像
fire3
帖子: 76
注册时间: 2007-05-29 18:12
来自: THU
联系:

#11

帖子 fire3 » 2007-06-09 17:11

我还喜欢 lftp -f 命令,可以写好一个文件让lftp自动执行一系列工作。
比如教育网有些ftp比较难连,
通过list账户进去看看后,找找要下载的东西,
然后写好一个lft执行的过程文件,
然后就 nohup lftp -f scriptlftp &
挂起让它不断重新登录下载就可以了。
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#12

帖子 skyx » 2007-06-09 17:15

学习中。。。。。。。

楼主很少现身了

以前对楼主的依稀影象还停留在ftp上的几个linux 大型游戏+来自ustc 。。。。。。。
no security measure is worth anything if an attacker has physical access to the machine
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#13

帖子 xiechy » 2007-06-09 19:17

skyx 写了:学习中。。。。。。。

楼主很少现身了

以前对楼主的依稀影象还停留在ftp上的几个linux 大型游戏+来自ustc 。。。。。。。
晕,那些我都没玩过~只是在教育网一个ftp看到后觉得可能有人会要~没想到真的还这么受欢迎~

鄙人少时不懂事,玩游戏太疯,被一众同学呼唤做“一中共产星际的X克思”,后深以为耻,自此戒了游戏瘾~大学就不打了~怀念当年的alpha centauri~那还是初中的时候吧~记得当时是全美冠军的游戏~就是E文变态了点~好像有Linux版,哪位如果有的话,没准偶就重出江湖了~^_^

呵呵,以前比较懒,不喜欢写长点的~以后争取只发对大家有用的贴~
nbdxkfq
帖子: 144
注册时间: 2007-01-10 23:56

#14

帖子 nbdxkfq » 2007-06-11 9:16

请问当我cd进入一个目录的时候提示说
用法: cd 远程目录
我看了一下,这个文件夹名去其他的区别是这个文件夹名中有空格,是不是这样就进不去了?谢谢我想进有空格的文件夹要怎么办?谢谢
xiechy
帖子: 1074
注册时间: 2006-01-18 15:01

#15

帖子 xiechy » 2007-06-11 10:37

cd xx\ xx
\是转义符,和终端下一样
回复