lftp 是UBUNTU下一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps 和https需要在编译的时候包含openssl库)。lftp的界面非常想一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能。
命令行语法
要看lftp的命令行语法,只要在shell中输入lftp --help
lftp [OPTS]
`lftp' 是在 rc 文件执行后 lftp 执行的第一个命令
-f 执行文件中的命令后退出
-c 执行命令后退出
--help 显示帮助信息后退出
--version 显示 lftp 版本后退出
其他的选项同 `open' 命令
-e 在选择后执行命令
-u [,] 使用指定的用户名/口令进行验证
-p 连接指定的端口
主机名, URL 或书签的名字
1、常用命令
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
2、乱码问题
在用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"
3、登录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。后面我们将会看到。
4、快捷书签
ftp中的bookmark命令的作用类似flashftp的站点管理器,它是将配置写到~/.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