Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94024
  • 博文数量: 14
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 135
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-13 21:27
文章分类

全部博文(14)

文章存档

2008年(14)

我的朋友

分类: LINUX

2008-07-31 12:53:40


今天在找一个好用的ftp,发现很多人推荐lftp。试用了下,虽然是字符界面,不过功能确实强大。
唉,字符命令行的工具以后要多学一些,有很多可挖掘的。

前言

刚进入linux殿堂的人似乎总会尝试寻找一个类似FlashFXP或Leapftp的图形界面的ftp客户端,可是尝试过的朋友应该都清楚:不管 是自由的,还是商业的ftp客户端,用来用去总还是不如lftp来得方便。没有图形界面,对于初学者来说,确实有一点痛苦,可是只要我们花一点时间,掌握 几个简单的命令,就能迅速体会到lftp的强大。

~/.lftprc

在用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"

登录ftp服务器

言归正传,我们先来看看怎么登录ftp服务器

  • lftp
  • 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

快捷书签

补充作者:aBiNg

ftp中的bookmark命令,是将配置写到~/.lftp/bookmarks文件中;我们可以直接修改此文件,快速登陆ftp服务器。

例如添加一行:

echo 'uftp  >> ~/.lftp/bookmarks

lftp的bookmarks文件书写格式为:

别名<空格>

以后要登陆ubuntu-cn的ftp,只要执行:

lftp uftp

其它客户端

kftpgrabber
KDE下ftp客户端,支持编码选择。对中文支持较好
gftp
gnome下ftp客户端,目前对中文支持尚不太好,受抱怨颇多。
fireftp
firefox的ftp客户端插件,新版对中文支持较好。
FileZilla
对中文支持较好
CrossFTP
基于Java的稳定ftp客户端和同步工具。优良的中文/Unicode支持。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
ftp是老牌,“万里长城永不倒”类型的王道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 来看。

阅读(2143) | 评论(0) | 转发(0) |
0

上一篇:如何学习linux编程

下一篇:学习总结

给主人留下些什么吧!~~