lftp 强大文件传输命令

作用

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 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号