云主机文件拷贝怎么操作?

HCRM技术_小炮 云主机 2025-10-12 2 0

当然可以!云主机文件拷贝是日常运维和开发中最常见的操作之一,根据你的使用场景和习惯,有多种方法可以实现。

下面我将从不同场景不同操作系统的角度,为你详细介绍几种最主流、最实用的文件拷贝方法。

核心概念:从哪里拷贝到哪里?

首先明确你的操作方向:

1、从本地计算机上传到云主机 (Local -> Cloud)

2、从云主机下载到本地计算机 (Cloud -> Local)

3、在两台云主机之间互相拷贝 (Cloud -> Cloud)

方法一:使用 SCP 命令 (安全、命令行)

scp (Secure Copy) 是基于 SSH 的安全加密文件传输工具,是所有 Linux 和 macOS 用户的标配,Windows 10/11 也可以使用。

基本语法:

scp [可选参数] <源文件路径> <目标文件路径>

常用场景示例:

1、从本地上传到云主机

    # 将本地的 /path/to/local/file.txt 上传到云主机的 /home/username/ 目录下
    scp -i /path/to/your/private-key.pem /path/to/local/file.txt username@云主机IP地址:/home/username/

-i ...指定你的私钥文件(如果使用密钥登录),如果是密码登录,可以去掉此参数,然后输入密码。

* 注意: 号,它是区分本地和远程路径的关键。

2、从云主机下载到本地

    # 将云主机的 /home/username/data.log 下载到本地的当前目录
    scp -i /path/to/your/private-key.pem username@云主机IP地址:/home/username/data.log .

* 最后的. 代表当前目录,你也可以指定其他本地路径,如~/Downloads/

3、递归拷贝整个目录(加-r 参数)

    # 上传整个 project 文件夹到云主机的 /tmp/ 目录
    scp -r -i /path/to/your/private-key.pem ./project username@云主机IP地址:/tmp/

4、在两台云主机之间拷贝

最直接的方法是从你的本地机器作为中转站,分别执行一次上传和下载,更高级的方法是使用ssh-agent 在一条命令中完成,但稍微复杂。

优点:安全、简单、所有系统通用、脚本友好。

缺点:无法实时同步,传输大量小文件时速度可能稍慢。

方法二:使用 SFTP 客户端 (安全、图形化)

如果你不习惯命令行,图形化的 SFTP (SSH File Transfer Protocol) 客户端是你的最佳选择,它的底层和 SCP 一样安全。

常用工具:

WinSCP (Windows)

FileZilla (跨平台Windows, macOS, Linux)

Termius (macOS) 或ForkLift (macOS)

MobaXterm (Windows,内置了SFTP功能)

操作步骤(以 FileZilla 为例):

1、打开 FileZilla

2、填写连接信息

主机你的云主机 IP 地址

用户名ubuntu,ec2-user,root

密码如果你的登录方式(或密钥对需要密码)

端口22 (默认SSH端口)

3、快速连接:点击快速连接

4、首次连接信任:弹出主机密钥未知的对话框,勾选"始终信任此主机",点击"确定"。

5、开始拖拽

* 左侧窗口是你的本地计算机文件。

* 右侧窗口是你的云主机文件。

直接拖拽文件或文件夹 between the two windows to upload or download.

优点:直观、易用、支持拖拽、可以方便地浏览两边文件系统。

缺点:不适合自动化脚本。

方法三:使用 rsync 命令 (高效、增量同步)

rsync 是一个更强大的工具,它不仅可以拷贝文件,还可以智能地同步文件,它的最大优点是增量同步——只传输文件中被修改的部分,大大提高了同步效率,特别适合备份或同步经常变动的大文件。

基本语法:

rsync [可选参数] <源路径> <目标路径>

常用场景示例:

1、同步本地目录到云主机(最常用)

    rsync -avz -e "ssh -i /path/to/your/private-key.pem" ./local_project/ username@云主机IP地址:/path/to/remote_project/

-a归档模式,保持所有文件属性,并递归同步目录。

-v详细输出,让你看到同步过程。

-z压缩传输,节省带宽。

-e指定远程 shell 命令,这里用于指定私钥。

特别注意源路径.../local_project/ 后面的/ 很重要!有/ 表示同步目录内的,没有/ 则表示同步目录本身。

2、从云主机同步到本地(反向)

    rsync -avz -e "ssh -i /path/to/your/private-key.pem" username@云主机IP地址:/path/to/remote_project/ ./local_project/

3、干跑模式(测试一下会同步什么)

    rsync -avzn --delete ... # 加上n 参数

--delete删除目标端有而源端没有的文件(保持严格一致)。使用前务必先干跑测试!

优点:增量同步,效率极高,非常适合备份和持续部署。

缺点:命令参数更复杂,需要小心使用。

操作系统特殊说明

对于 Windows 云主机 (RDP)

Windows 云主机通常使用远程桌面 (RDP) 连接。

1、本地资源映射

* 在连接之前,点击“显示选项” -> “本地资源” -> “更多...”。

* 勾上你希望映射到云主机的本地驱动器(C盘、D盘)。

* 连接后,在云主机的“文件资源管理器”中,你就能看到“其他”栏目下的本地驱动器,然后就可以像操作本地U盘一样直接拖拽文件

2、剪贴板共享

* 同样在“本地资源”中,确保“剪贴板”被勾选,这样你可以在本地和云主机之间复制粘贴文本和文件

方法 适用场景 优点 缺点
SCP 快速、单次的文件上传/下载;命令行环境 安全、简单、通用 无法增量同步
SFTP (图形化) 不熟悉命令行的用户;需要可视化浏览文件 直观、易用、拖拽操作 不适合自动化
rsync 定期备份、持续部署、同步大量文件增量同步、效率极高、功能强大 命令稍复杂
RDP 映射 Windows 云主机 极其方便,像使用U盘 仅限 Windows

新手建议

如果你是新手,从FileZilla 或 WinSCP 开始,最容易上手。

如果你已经熟悉命令行,SCP 是完成单次拷贝任务最快捷的方式。

如果你的工作是频繁同步代码或网站文件,请务必学会使用rsync

希望这个详细的指南能帮助你顺利完成云主机的文件拷贝操作!

文章摘自:https://idc.huochengrm.cn/zj/17872.html

评论