当前位置:首页 > 技术文章 > 正文内容

Linux 性能更好的ftp客户端 lftp 使用详解

douba32个月前 (07-17)技术文章17

简介

LFTP 是一个命令行 FTP 客户端,支持多种文件传输协议,包括 FTP、FTPS、HTTP、HTTPS和SFTP 。它以其通过镜像、后台操作和脚本支持等特性有效管理复杂传输的能力而闻名。

安装

  • Ubuntu/Debian
sudo apt update
sudo apt install lftp
  • CentOS/RHEL/Fedora
sudo yum install lftp

常用选项

  • -u:指定用户名和密码
  • -e:打开连接后执行命令
  • -f:使用脚本文件执行命令
  • -c:启动 LFTP 并直接运行命令(无需进入交互模式)
  • --parallel:启用多个并行连接以提高下载/上传速度
  • -p:为 FTP 或 SFTP 服务器设置自定义端口

常用子命令

  • open:打开与服务器的连接
  • ls:列出远程服务器上的文件和目录
  • cd:更改远程服务器上的目录
  • get:从远程服务器下载文件
  • put:将文件上传到远程服务器
  • mget:下载多个文件
  • mput:上传多个文件
  • mirror:镜像(同步)目录
  • exit:退出 LFTP 会话
  • set:设置各种 LFTP 选项(例如速度限制)
  • -u username,password:指定用户名和密码
  • -e "command":连接后执行单个命令

示例用法

启动 LFTP

只需在终端中输入 lftp 即可启动 LFTP 交互模式

lftp

连接到服务器

使用 open 命令连接到服务器。适用于任何受支持的协议(FTP、FTPS、SFTP 等)

lftp open ftp://username:password@hostname

示例

lftp open ftp://user:password@ftp.example.com

使用SFTP

lftp sftp://username@hostname

具有显式 SSL/TLS 加密的 FTP(FTPS)

lftp -u username,password -e "set ftp:ssl-allow yes; open ftp://hostname"

列出远程服务器上的文件

ls

更改目录

cd remote_directory

上传文件

put local_file

上传多个文件

mput *.txt

下载文件

get remote_file

下载多个文件

mget *.txt

镜像目录

  • 将远程镜像到本地
mirror remote_directory local_directory
  • 本地镜像到远程
mirror -R local_directory remote_directory
  • 使用附加选项进行镜像

使用 --delete 删除源上不再存在的文件

mirror --delete remote_directory local_directory

退出 LFTP

exit

后台传输

lftp -e "get remote_file &"

后台传输多个命令

多个命令用分号隔开

lftp -e "open ftp://username:password@hostname; get remote_file; exit"

在脚本中使用 LFTP

#!/bin/bash
lftp -e "open ftp://username:password@hostname; put local_file; get remote_file; exit"

设置传输速率

lftp -e "set net:limit-rate 100000; open ftp://username:password@hostname; get remote_file; exit"

递归文件下载

lftp -e "mirror --reverse --verbose /remote_path /local_path; exit"

并行连接

lftp -u username,password -e "set mirror:parallel-transfer-count 5; mirror remote_directory local_directory; exit"

相关文章

Windows下常用的远程Linux连接工具

点击上方蓝字,关注↑“空桥”__在Windows系统上,想要通过远程连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件。SSH 使用公钥加密来认证远程...

linux学习:查看linux服务器的IP(查看linux服务器的ip地址)

我有一云主机,平台提供的信息如下:公网IP:106.52.48.103内网IP:172.16.0.11我想知道我服务器的IP,通过AI查询:linux 查看服务器ip在 Linux 系统中,你可以使用...

强烈推荐20个Linux find查找指令(linux中用find查找目录)

1. 按文件名搜索所有.log文件find /var/log -name "*.log"2. 忽略大小写搜索.txt文件find /home -iname "*.TXT"...

手机混用闪存到底是真是假?教你查手机闪存型号

来源:太平洋电脑网最近,网上传言某手机混用闪存,将UFS 3.0和UFS 3.1的闪存混用在了同一型号的机器上,买不同容量的手机,闪存协议不一样。光从这个描述来看,这做法相当不厚道,消费者买手机等于抽...

Linux 下如何查看进程的资源限制信息?

简介Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 `/proc 文件系统的一部分,该...

Linux基本命令(Linux基本命令聪简单到复杂)

一、基本命令1. pwdxx@admin1, 中xx表示用户登录的名字,admin1表示主机名, test表示当前工作目录,pwd (present working directory): 查看当前...