linux 简单使用 sftp 和 lftp命令

目录

  • [一. 环境准备](#一. 环境准备)
  • [二. sftp命令连接到SFTP服务器](#二. sftp命令连接到SFTP服务器)
  • [三. lftp命令](#三. lftp命令)
    • [3.1 连接FTP和SFTP服务器](#3.1 连接FTP和SFTP服务器)
    • [3.2 将文件从sftp服务器下载到本地指定目录](#3.2 将文件从sftp服务器下载到本地指定目录)
  • [四. 通过WinSCP命令行从SFTP服务器获取文件到Windows](#四. 通过WinSCP命令行从SFTP服务器获取文件到Windows)

一. 环境准备

⏹在安卓手机上下载个MiXplorer,用作SFTPFTP服务器

⏹设置给服务器设置好用户名,密码之后,开启服务器

⏹下载WinSCP,准备用其命令行的方式从服务器获取数据

⏹在linux中安装 lftp命令

bash 复制代码
sudo apt install lftp

二. sftp命令连接到SFTP服务器

sftp:是 SSH 文件传输协议,属于 SSH 安全套接层(SSH Secure Shell)的一部分,用于安全地在客户端和服务器之间传输文件。

sftp:使用 SSH 协议进行连接和数据传输,所有的数据都是加密的,因此更加安全,适合对数据安全性要求较高的场景。

  • sftp -P 端口号 用户名@服务器地址
  • 为了安全考虑,密码无法被显示的指定在命令行中
bash 复制代码
sftp -P 2222 [email protected]

⏹如下如图所示,通过命令行登录SFTP服务器

  • 支持 lsls -l命令
  • quit:退出服务器

三. lftp命令

  • lftp 是一个功能强大的命令行 FTP 客户端程序,它支持多种协议(包括 FTP、FTPS、SFTP 等),可以用于文件传输和管理。
  • lftp 提供了丰富的功能,包括下载、上传、目录操作、文件搜索、断点续传、并行传输等。它可以处理多个连接和任务,并支持脚本化操作。
  • 适用于需要进行大量文件传输、批量处理或自动化操作的情况,例如备份、同步、批量下载等。

3.1 连接FTP和SFTP服务器

⏹连接FTP服务器(协议可省略)

bash 复制代码
lftp ftp://Admin:[email protected]:2121

⏹连接SFTP服务器,需要显示的指定协议

bash 复制代码
lftp sftp://fengyehong:[email protected]:2222

3.2 将文件从sftp服务器下载到本地指定目录

  • -c:用于执行一系列指定的命令,然后退出。这对于需要在脚本或命令行中执行一组自动化文件传输操作非常有用。
  • 多个命令之间使用;来分隔,表示按照顺序执行这些命令
  • set net:max-retries 1:设置最大重试次数为 1
  • mget:批量下载文件
  • -O:指定下载到的本地目录
    • 注意:是英文大写的O,并不是数字0
  • &&:逻辑与运算符,用于连接两个命令,确保前一个命令执行成功后才执行后一个命令。
  • sleep 1:暂停 1 秒,确保 lftp 命令执行完成后再退出
bash 复制代码
lftp -c "set net:max-retries 1; open sftp://fengyehong:[email protected]:2222; mget /02-歌单/中文歌.txt -O /home/fengyehong/jmw_work_space && sleep 1"

四. 通过WinSCP命令行从SFTP服务器获取文件到Windows

  • 通过PowerShell的方式执行
  • 由于安装目录中存在空格,所以通过 PowerShell 中的 & 命令执行 WinSCP.com文件
    • WinSCP.com配置到环境变量中 或者 通过相对路径来执行 WinSCP.com文件的话,就不存在上述问题了
  • 整个命令行的意思就是
    • 通过WinSCP.com文件
    • 连接sftp服务器
    • 从服务器的指定目录下
    • 将文件复制到本地的D盘
    • 退出程序
powershell 复制代码
& "C:\Program Files (x86)\WinSCP\WinSCP.com" /command "open sftp://fengyehong:[email protected]:2222" "get /02-歌单/纯音乐-静.txt D:\纯音乐-静.txt" "exit"
相关推荐
IT _oA18 分钟前
Active Directory 域服务
运维·服务器·网络·windows·笔记
MXsoft6181 小时前
云原生运维在 2025 年的发展蓝图
运维·服务器·数据库
爱的叹息1 小时前
Spring Boot 自定义配置类(包含字符串、数字、布尔、小数、集合、映射、嵌套对象)实现步骤及示例
java·linux·spring boot
嵌入式-老费1 小时前
Linux上位机开发实践(一个硬件算法加速的示例)
linux·运维·服务器
前进的程序员2 小时前
Linux C 与 C 语言的区别及开发差异
linux·运维·c语言
葡萄城技术团队2 小时前
如何通过前端表格控件实现自动化报表?1
运维·前端·自动化
CZIDC2 小时前
华为昇腾服务器上查看固件、驱动和CANN版本的常用方法
linux·运维·服务器
怪兽也会哭哭3 小时前
网页部署到宝塔服务器上,发送请求报错?org.springframework.data.redis.RedisSystemException,让我来看看
运维·服务器·redis
跑得动3 小时前
头歌 | WPS文档基本操作
运维·服务器·wps
良许Linux3 小时前
C++在嵌入式中表现如何?
linux