优秀的文件客户端程序。

补充说明

lftp 命令是一款优秀的文件客户端程序,它支持 ftp、SETP、HTTP 和 FTPs 等多种文件传输协议。lftp 支持 tab 自动补全,记不得命令双击 tab 键,就可以看到可能的选项了。

语法

lftp (选项) (参数)

选项

-f:指定 lftp 指令要执行的脚本文件;
-c:执行指定的命令后退出;
--help:显示帮助信息;
--version:显示指令的版本号。

参数

站点:要访问的站点的 ip 地址或者域名。

实例

登录 ftp

lftp 用户名:密码@ftp 地址:传送端口(默认 21)

也可以先不带用户名登录,然后在接口界面下用 login 命令来用指定账号登录,密码不显示。
查看文件与改变目录

lscd 对应 ftp 目录

下载
get 当然是可以的,还可以:

mget -c *.pdf    #把所有的pdf文件以允许断点续传的方式下载。
mirror aaa/      #将aaa目录整个的下载下来,子目录也会自动复制。
pget -c -n 10 file.dat   #以最多10个线程以允许断点续传的方式下载file.dat,可以通过设置pget:default-n的值而使用默认值。

上传
同样的 put、mput 都是对文件的操作,和下载类似。

mirror -R 本地目录名

将本地目录以迭代(包括子目录)的方式反向上传到 ftp site。
模式设置

set ftp:charset gbk

远程 ftp site 用 gbk 编码,对应的要设置为 utf8,只要替换 gbk 为 utf8 即可。

set file:charset utf8

本地的 charset 设定为 utf8,如果你是 gbk,相应改掉。

set ftp:passive-mode 1

使用被动模式登录,有些 site 要求必须用被动模式或者主动模式才可以登录,这个开关就是设置这个的。0 代表不用被动模式。
书签
其实命令行也可以有书签,在 lftp 终端提示符下:

bookmark add ustc

就可以把当前正在浏览的 ftp site 用 ustc 作为标签储存起来。以后在 shell 终端下,直接lftp ustc就可以自动填好用户名和密码,进入对应的目录了。

bookmark edit

会调用编辑器手动修改书签。当然,也可以看到,这个书签其实就是个简单的文本文件。密码,用户名都可以看到。
配置文件

vim /etc/lftp.conf

一般,我会添加这几行:

set ftp:charset gbk
set file:charset utf8
set pget:default-n 5

这样,就不用每次进入都要打命令了。其他的 set 可以自己 tab 然后 help 来看。