本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
当本机为Linux或macOS系统时,目标实例为Linux系统且具有公网IP时,您可以参考本文通过sftp
、scp
、rsync
等工具进行文件上传下载的操作。
工具介绍&对比
特性 | SCP | SFTP | Rsync |
功能 | 快速上传/下载单个文件或目录。 |
| 增量同步(仅传输差异部分)。 |
交互 | 命令行一次性操作。 | 支持交互式命令(类似FTP客户端)。 | 命令行或脚本化操作。 |
场景 |
|
|
|
使用限制
本地系统限制 | 实例网络限制 | 文件大小限制 | 传输速度限制 | 文件数量限制 |
Linux或macOS | 需要开通公网IP或EIP | 无 | 无 | 无 |
准备工作
检查实例状态:只有运行中的实例支持本文操作。
获取实例的公网IP地址:在本文操作中需要使用实例的公网IP连接实例。
检查实例所在安全组:使用本文工具向实例传输文件时,需要检查安全组是否已经放通对应工具服务的连接端口(默认22)。
通过SCP工具传输文件
SCP(Secure Copy Protocol)是一种基于SSH(Secure Shell)协议的文件传输协议,它提供了安全的文件传输、复制和管理功能。基本用法如下:
上传文件
需要上传文件或文件夹到实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
# 上传单个文件到实例 scp <本地文件路径> <云服务器登录名>@<云服务器公网IP地址>:<实例目录> # 上传本地目录到实例 scp -r <本地目录> <云服务器登录名>@<云服务器公网IP地址>:<实例目录>
下载文件
需要从实例下载文件到本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
# 下载单个文件到本地 scp <云服务器登录名>@<云服务器公网IP地址>:<实例文件路径> <本地目录> # 下载实例目录到本地 scp -r <云服务器登录名>@<云服务器公网IP地址>:<实例目录> <本地目录>
通过SFTP工具传输文件
SFTP(SSH File Transfer Protocol)是基于SSH协议的交互式文件传输工具,支持文件管理、断点续传等特性。具体操作步骤如下:
1. 连接云服务器实例
在本机终端,输入以下命令连接云服务器ECS实例。
sftp <云服务器实例登录名>@<云服务器实例公网IP地址>
如图所示,连接成功后显示如下内容。
2. 上传/下载文件
从本地上传文件或整个目录到实例
# 上传单个文件 sftp> put <本地文件> <实例目录> # 上传整个目录 sftp> put -r <本地目录> <实例目录>
从实例下载文件或整个目录到本地
# 下载单个文件 sftp> get <实例文件> <本地目录> # 下载整个目录 sftp> get -r <实例目录> <本地目录>
3. 断点续传(传输中断时使用)
当大文件传输中断时,可使用 reget
和 reput
替换步骤2中的get
和put
命令,继续传输文件:
# 继续上传
sftp> reput <本地文件> <实例目录>
# 继续下载
sftp> reget <实例文件> <本地目录>
4. 断开连接
当完成传输任务后,可以通过quit
或bye
命令退出SFTP。
sftp> quit
sftp> bye
通过Rsync工具传输文件
rsync是一个用于Linux/Unix系统的文件同步和传输工具。使用该工具,可以实现将本地文件上传到实例,或从实例下载文件到本地,此外,rsync还支持目录同步功能,rsync工具的安装及使用步骤如下:
1. 安装工具
首先您需要在本地和远程服务器上安装rsync,rsync的安装方式如下:
Alibaba Cloud Linux 3/2
sudo yum install -y rsync
CentOS 8/7/6
sudo yum install -y rsync
Ubuntu/Debian
sudo apt install -y rsync
2. 使用rsync上传/下载文件
上传单个文件
当需要上传文件到实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
rsync -avz -e ssh <本地文件或文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>
下载单个文件
当需要从实例下载文件到本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
rsync -avz -e ssh <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例文件或文件夹路径> <本地目录>
同步本地某个目录到ECS实例(上传目录)
当需要从本地将整个文件夹上传(或同步到)实例时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
rsync -avz -e ssh <本地文件夹路径> <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例目录>
同步ECS实例的某个目录到本地(下载目录)
当需要从实例将整个文件夹下载(或同步到)本地时,可以在本地执行以下命令,执行命令后,可能会提示您输入密码。
rsync -avz -e ssh <云服务器实例登录名>@<云服务器实例公网IP地址>:<实例文件夹路径> <本地目录>
相关文档
上传文件至ECS后,您可以对重要文件进行备份。具体操作,请参见创建快照。
本文操作仅支持从本地Linux或macOS系统上传文件到Linux实例,或从Linux实例下载文件到本地Linux或macOS,如果您需要上传文件到Windows实例,可使用其他文件传输方式,请参见选择传输文件的方式。
如果需要从本机Windows系统向Linux实例传输文件,可以使用WinSCP工具完成文件传输操作,WinSCP支持切换SCP或SFTP协议,具体操作,请参见在本地Windows使用WinSCP向Linux实例传输文件。
您还可以通过对象存储OSS来存储和管理文件。详细操作,请参见OSS快速入门。