lftp 是一个强大的下载工具,支持访问文件的 ftp、sftp、ftps、http、https、hftp、fish等协议,它内建 shell-like 的命令格式。
lftp 具有命令补全、历史记录、允许多个后台任务同时执行、将前台执行的命令放到后台执行、将后台执行的命令拿回前台执行等功能。
另外还有书签、排队、镜像、断点续传、多进程下载等功能。
lftp [参数] <站点>
-f<文件> 执行文件中的命令后退出
-c<命令> 执行命令后退出
--help 显示帮助信息
--version 或 -v 显示版本信息
-e<命令> 在选择后执行命令
-u<账户名>[, <密码>] 使用指定的用户名/密码进行验证
-p<端口> 连接指定的端口
<站点> 主机名,URL 或书签名字
!<shell-command> 可执行本地端 Shell 中的命令,例如:!ls /usr/local/bin
cd<rdir> 改变当前的远程目录到<rdir>。先前的远程目录被存为“-”。可以用“cd -”回到先前的目录。每个站点的先前目录保存在磁盘上,即使在 lftp 重启动后,也可以用“open site; cd -”回到先前的目录。
ls[args] 列表展示远程文件
mget [OPTS]<files> 下载多个匹配通配符要求的远程文件
mirror [OPTS][remote [local]] 镜像指定的远程站点到本地目录
cd 切换远端目录(lcd 切换本地目录)。
get 下载远端文件。
pget 使用多个线程来下载远端文件, 预设为五个。
put 上传文件。
mput 上传多个文件(支持通配符)。
mv 移动远端文件(远端文件改名)。
rm 删除远端文件。
mrm 删除多个远端文件(支持通配符)。
mkdir 建立远端目录
rmdir 删除远端目录
pwd 显示目前远端所在目录(lpwd 显示本地目录)。
du 计算远端目录的大小
lcd 切换本地目录
lpwd 显示本地目录
alias 定义别名
bookmark 设定书签。
exit 退出ftp
(1)使用 lftp 命令登录远程主机 192.168.1.3,查看远程主机文件,然后使用 cd 切换到 demo 目录。如下:
[root@hxstrive ~]# lftp root:123456@192.168.1.3 lftp root@192.168.1.3:~> ls total: 8 -rwxrwxrwx 1 user group 866 May 1 2022 anaconda-ks.cfg drwxrwxrwx 1 user group 0 May 18 2022 demo -rwxrwxrwx 1 user group 18054 Jan 5 2022 face.jpeg -rwxrwxrwx 1 user group 6 May 1 2022 test.txt lftp root@192.168.1.3:/> cd demo lftp root@192.168.1.3:/demo> ls total: 8 -rwxrwxrwx 1 user group 120 May 18 2022 Hello.java lftp root@192.168.1.3:/demo>
(2)使用 lftp 的 mget 子命令将 Hello.java 文件从远程主机下载到本地当前目录,如下:
lftp root@192.168.1.3:/demo> ls total: 8 -rwxrwxrwx 1 user group 120 May 18 2022 Hello.java lftp root@192.168.1.3:/demo> mget -c Hello.java 120 bytes transferred
(3)使用 lftp 的 mget 子命令将所有以“face-”开头的 jpeg 图片下载到本地当前目录,如下:
lftp root@192.168.1.3:/> mget face-*.jpeg 54162 bytes transferred Total 3 files transferred
(4)使用 lftp 的 mirror 子命令在本地当前目录创建远程主机 demo 目录的镜像,如下:
lftp root@192.168.1.3:/> mirror demo/ New: 1 file, 0 symlinks 120 bytes transferred
更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息