lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。

~/.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 ftp://user:password@site:port
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的命令行语法,只要在shell中输入lftp --help
lftp [OPTS]

'lftp'是在 rc 文件执行后 lftp 执行的第一个命令

-f 执行文件中的命令后退出
-c 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出

其他的选项同 'open' 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口

就可以看到命令列表

下面我们看一下lftp常用的命令:

ls:显示远端文件列表(!ls 显示本地文件列表)。
cd:切换远端目录(lcd 切换本地目录)。
get:下载远端文件。
mget:下载远端文件(可以用通配符也就是 *)。
pget:使用多个线程来下载远端文件, 预设为五个。
mirror:下载/上传(mirror -R)/同步 整个目录。
put:上传文件。
mput:上传多个文件(支持通配符)。
mv:移动远端文件(远端文件改名)。
rm:删除远端文件。
参数-r,递归删除文件夹
mrm:删除多个远端文件(支持通配符)。
mkdir:建立远端目录。
rmdir:删除远端目录。
pwd:显示目前远端所在目录(lpwd 显示本地目录)。
du:计算远端目录的大小
set net:limit-rate 10000,10000:限制上传下载各为10KB/s
set ftp:charset gbk:设置远程ftp site用gbk编码
!:执行本地 shell的命令(由于lftp 没有 lls, 故可用 !ls 来替代)
lcd:切换本地目录
lpwd:显示本地目录
alias:定义别名
bookmark:设定书签
exit:退出ftp

快捷书签

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

例如添加一行:

echo 'uftp ftp://user:passwd@ftp.ubuntu.org.cn' >> ~/.lftp/bookmarks

lftp的bookmarks文件书写格式为:

别名<空格>ftp://user:passwd@site:port

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

lftp uftp

其它客户端:
kftpgrabber:KDE下ftp客户端,支持编码选择。对中文支持较好
gftp:gnome下ftp客户端,目前对中文支持尚不太好,受抱怨颇多。
fireftp:firefox的ftp客户端插件,新版对中文支持较好。
FileZilla:对中文支持较好
CrossFTP:基于Java的稳定ftp客户端和同步工具。优良的中文/Unicode支持。

暂无评论