Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92362
  • 博文数量: 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 来看。

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

上一篇:如何学习linux编程

下一篇:学习总结

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