行业资讯

时间:2025-08-26 浏览量:(170)

本地文件传输到云服务器的 7 种实用方法(含多系统操作指南)

将本地文件传输到香港香港云服务器是开发、运维及日常管理中的核心需求,不同场景(如单文件快速传输、大目录增量同步、频繁读写挂载)需匹配不同工具。本文覆盖 Windows/Linux/macOS 多系统,详细介绍基于 SSH、同步工具、挂载服务、云存储等 7 类传输方法,并提供操作示例、适用场景及安全优化建议。

一、基础认知:核心传输协议与工具分类

文件传输的核心是 “安全” 与 “高效”,主流方法基于以下协议或工具,可根据需求选择:


传输类型核心工具 / 协议适用场景支持系统
SSH 协议类SCP、SFTP单文件 / 小批量文件传输全平台(需工具支持)
增量同步类Rsync大文件 / 频繁更新目录同步Linux/macOS(Windows 需 WSL)
远程挂载类SMB/CIFS、NFS频繁读写,映射为本地磁盘SMB 全平台,NFS 偏 Linux
云存储类对象存储、FTP跨地域传输、多人共享全平台
自动化工具类脚本(curl/wget)、Ansible定期备份、CI/CD 集成全平台

二、方法一:SCP(基于 SSH 的快速单文件传输)

SCP(Secure Copy)是 SSH 协议的衍生工具,支持加密传输单个或小批量文件,操作极简,Linux/macOS 默认内置,Windows 需安装 OpenSSH 或第三方工具(如 WinSCP)。

适用场景

  • 快速传输单个文件(如压缩包、配置文件)

  • 无需交互式操作,仅需一条命令完成传输

操作步骤(分系统)

1. Linux/macOS 本地 → 云服务器(上传)

命令格式:scp /本地文件路径 服务器用户名@服务器IP:/远程目录路径
示例:将本地~/app.tar.gz上传到云服务器/home/user目录


bash
scp ~/app.tar.gz user@123.45.67.89:/home/user/


  • 若传输目录,需加-r参数(递归传输):
    scp -r ~/project user@123.45.67.89:/home/user/

2. Linux/macOS 云服务器 → 本地(下载)

命令格式:scp 服务器用户名@服务器IP:/远程文件路径 /本地目录路径
示例:将服务器/home/user/logs.tar.gz下载到本地~/downloads目录


bash
scp user@123.45.67.89:/home/user/logs.tar.gz ~/downloads/

3. Windows 操作(两种方式)

  • 方式 1:安装 OpenSSH(系统自带)
    打开 PowerShell,执行与 Linux 相同的命令(路径格式改为 Windows 风格,如C:\Users\Admin\app.tar.gz):

    powershell
    scp C:\Users\Admin\app.tar.gz user@123.45.67.89:/home/user/


  • 方式 2:用 WinSCP(图形化工具)
    无需命令,输入服务器 IP、用户名、密码,直接拖拽文件(详见 “方法二:SFTP” 的图形化操作)。

注意事项

  • 需开放云服务器 SSH 端口(默认 22),确保防火墙允许该端口访问。

  • 传输大文件(如 10GB 以上)时速度较慢,建议先压缩为.tar.gz格式再传输。

  • 若使用 SSH 密钥认证,需在命令中指定密钥路径:scp -i ~/.ssh/id_rsa 本地文件 服务器路径。

三、方法二:SFTP(交互式批量文件传输)

SFTP(SSH File Transfer Protocol)是 SSH 协议的文件传输模块,支持交互式操作(如浏览目录、创建文件夹、批量上传 / 下载),安全性与 SCP 一致,且更适合多文件管理。

适用场景

  • 需浏览远程目录结构后选择性传输文件

  • 批量上传 / 下载多个文件或目录

  • 偏好图形化操作的用户(Windows/macOS)

操作步骤(分命令行与图形化)

1. 命令行操作(Linux/macOS/Windows PowerShell)

  1. 连接云服务器
    命令格式:sftp 服务器用户名@服务器IP
    示例:
    bash
    sftp user@123.45.67.89


    输入密码后进入 SFTP 交互模式(提示符变为sftp>)。
  2. 核心操作命令
    命令功能说明示例
    put /本地文件路径上传本地文件到远程当前目录put ~/app.tar.gz
    get /远程文件路径下载远程文件到本地当前目录get /home/user/logs.tar.gz
    put -r /本地目录递归上传本地目录(含子文件)put -r ~/project
    get -r /远程目录递归下载远程目录get -r /home/user/data
    ls / lls查看远程目录 / 本地目录文件ls(远程)、lls(本地)
    cd /远程目录切换远程目录cd /home/user
    lcd /本地目录切换本地目录lcd ~/downloads
    exit / quit退出 SFTP 模式exit

2. 图形化工具操作(推荐新手)

  • Windows:WinSCP
    1. 下载并安装 WinSCP(官网链接),打开后选择 “SFTP” 协议。

    2. 输入云服务器 IP、用户名、密码,点击 “登录”。

    3. 左侧为本地文件目录,右侧为远程服务器目录,直接拖拽文件 / 目录即可完成上传 / 下载。

  • macOS:Cyberduck
    1. 在 App Store 下载 Cyberduck,打开后点击 “新建连接”,选择 “SFTP (SSH File Transfer Protocol)”。

    2. 输入服务器 IP、用户名、密码,点击 “连接”,后续操作与 WinSCP 一致(拖拽传输)。

注意事项

  • SFTP 支持断点续传(部分工具如 WinSCP 默认开启),传输中断后可继续。

  • 若远程目录无写入权限,需先在服务器执行chmod 755 /目标目录赋予权限。

四、方法三:Rsync(高效增量同步大文件 / 目录)

Rsync 是 Linux 下的经典增量同步工具,核心优势是仅传输 “变化的文件或文件片段”,大幅节省带宽和时间,适合大目录(如代码库、备份数据)的频繁同步。

适用场景

  • 本地与云服务器之间的大目录同步(如 100GB + 的数据集)

  • 频繁更新的文件(如日志、代码),需定期增量备份

  • 希望保留文件权限、时间戳等元数据的场景

操作步骤

1. 安装 Rsync(云服务器与本地均需)

  • Ubuntu/Debian 系统:

    bash
    sudo apt update && sudo apt install rsync


  • CentOS/RHEL 系统:

    bash
    sudo yum install rsync


  • Windows 系统:需安装 WSL(Windows Subsystem for Linux)或第三方 Rsync 工具(如 cwRsync)。

2. 本地 → 云服务器(增量上传)

命令格式:rsync -avz --progress /本地目录/ 服务器用户名@服务器IP:/远程目录/
示例:将本地~/data目录同步到服务器/home/user/data目录


bash
rsync -avz --progress ~/data/ user@123.45.67.89:/home/user/data/

3. 云服务器 → 本地(增量下载)

命令格式:rsync -avz --progress 服务器用户名@服务器IP:/远程目录/ /本地目录/
示例:将服务器/home/user/data同步到本地~/backup目录


bash
rsync -avz --progress user@123.45.67.89:/home/user/data/ ~/backup/

4. 关键参数说明

参数功能说明
-a归档模式:保留文件权限、时间戳、所有者、符号链接等元数据(必选)
-v详细模式:显示同步过程中的文件列表(可选,方便排查问题)
-z压缩传输:传输前压缩文件,节省带宽(适合网络带宽有限的场景)
--progress显示传输进度:实时显示每个文件的传输速度、已传输大小、剩余时间(可选)
--delete删除冗余文件:删除远程目录中本地没有的文件(需谨慎使用,避免误删)

注意事项

  • 首次同步时因需传输全部文件,速度较慢;后续同步仅传输变化部分,速度极快。

  • 若同步包含大量小文件,建议先压缩为.tar.gz再同步(减少文件数量,提升效率)。

  • 确保云服务器的 SSH 端口(22)开放,且目标目录有写入权限。

五、方法四:SMB/CIFS(远程目录挂载为本地磁盘)

SMB(Server Message Block)/CIFS 是 Windows 常用的文件共享协议,支持将云服务器的目录映射为本地磁盘,适合频繁读写(如编辑远程文件、日常办公),Linux/macOS 也可通过工具支持。

适用场景

  • 需像操作本地文件一样读写云服务器文件(如用本地编辑器修改远程代码)

  • 多人共享云服务器目录(如团队协作文档)

  • 偏好图形化操作,无需频繁执行命令

操作步骤(分服务器端与客户端)

1. 云服务器端配置(以 Linux 为例,搭建 Samba 服务)

  1. 安装 Samba

    bash
    sudo apt update && sudo apt install samba


  2. 创建共享目录并设置权限

    bash
    sudo mkdir -p /home/user/smb_share  # 创建共享目录sudo chmod 775 /home/user/smb_share  # 赋予读写权限sudo chown user:user /home/user/smb_share  # 设置目录所有者


  3. 配置 Samba 用户与共享规则

    • 添加 Samba 用户(需先存在系统用户,如user):

      bash
      sudo smbpasswd -a user  # 输入Samba密码(可与系统密码不同)


    • 编辑 Samba 配置文件/etc/samba/smb.conf:

      bash
      sudo nano /etc/samba/smb.conf


      在文件末尾添加以下内容(共享规则):

      ini
      [smb_share]
          path = /home/user/smb_share  # 共享目录路径
          valid users = user  # 允许访问的用户
          read only = no  # 允许写入
          browsable = yes  # 允许在网络中被发现


  4. 重启 Samba 服务

    bash
    sudo systemctl restart smbd


2. 客户端挂载(分系统)

  • Windows 客户端
    1. 打开 “此电脑”,点击顶部 “映射网络驱动器”。

    2. 在 “文件夹” 中输入 \\云服务器IP\smb_share(smb_share为配置中的共享名)。

    3. 勾选 “使用其他凭据连接”,输入 Samba 用户名(user)和密码,点击 “完成”。

    4. 成功后,“此电脑” 中会新增一个 “网络位置”,可像本地磁盘一样操作文件。

  • Linux/macOS 客户端
    1. 安装 CIFS 工具(Linux):

      bash
      sudo apt install cifs-utils  # Ubuntu/Debian


    2. 创建本地挂载点:

      bash
      mkdir -p ~/smb_mount  # 本地目录,用于挂载远程共享


    3. 执行挂载命令:

      bash
      sudo mount -t cifs //云服务器IP/smb_share ~/smb_mount -o username=user,password=你的Samba密码


    4. 卸载时执行:

      bash
      sudo umount ~/smb_mount


六、方法五:NFS(Linux/Unix 专属远程挂载)

NFS(Network File System)是 Linux/Unix 系统的原生共享协议,性能优于 SMB,适合 Linux 本地与 Linux 云服务器之间的频繁文件交互,不推荐 Windows 使用(兼容性较差)。

适用场景

  • Linux 本地与 Linux 云服务器之间的高性能文件共享

  • 需挂载远程目录运行程序(如读取远程数据集)

操作步骤

1. 云服务器端配置(Ubuntu 为例)

  1. 安装 NFS 服务

    bash
    sudo apt update && sudo apt install nfs-kernel-server


  2. 创建共享目录并设置权限

    bash
    sudo mkdir -p /home/user/nfs_sharesudo chmod 775 /home/user/nfs_sharesudo chown user:user /home/user/nfs_share


  3. 配置 NFS 共享规则
    编辑/etc/exports文件,添加共享目录权限:

    bash
    sudo nano /etc/exports


    添加内容(允许指定客户端 IP 访问,替换192.168.1.100为你的本地 IP):

    ini
    /home/user/nfs_share 192.168.1.100(rw,sync,no_subtree_check)


    • rw:允许读写

    • sync:实时同步数据到磁盘(保证数据安全)

    • no_subtree_check:关闭子目录检查(提升性能)

  4. 应用配置并重启 NFS 服务

    bash
    sudo exportfs -a  # 应用新配置sudo systemctl restart nfs-kernel-server


2. Linux 客户端挂载

  1. 安装 NFS 客户端

    bash
    sudo apt install nfs-common  # Ubuntu/Debian


  2. 创建本地挂载点并挂载

    bash
    mkdir -p ~/nfs_mountsudo mount -t nfs 云服务器IP:/home/user/nfs_share ~/nfs_mount


  3. 验证挂载
    执行df -h,若看到云服务器IP:/home/user/nfs_share对应的挂载点,说明成功。

七、方法六:云存储 / FTP(跨地域传输与多人共享)

若需跨地域传输(如本地在上海,云服务器在广州)或与多人共享文件,可通过云对象存储(如阿里云 OSS、AWS S3)或FTP 服务实现,适合非敏感文件的批量共享。

方式 1:云对象存储(推荐,安全高效)

  1. 上传文件到云存储桶

    • 通过云厂商控制台:登录阿里云 / 腾讯云控制台,进入 OSS/S3 服务,创建桶后上传本地文件。

    • 通过 CLI 工具:以阿里云 OSS 为例,安装ossutil后执行上传命令:

      bash
      ossutil cp ~/app.tar.gz oss://你的桶名/path/


  2. 云服务器下载文件
    在云服务器上安装对应云存储的 CLI 工具,执行下载命令:

    bash
    ossutil cp oss://你的桶名/path/app.tar.gz /home/user/


方式 2:FTP 服务(适合传统场景,需注意安全)

  1. 云服务器搭建 FTP 服务(以 vsftpd 为例)

    bash
    sudo apt install vsftpd  # 安装sudo systemctl start vsftpd  # 启动服务


    (注:FTP 默认明文传输,建议配置 SSL/TLS 加密,避免密码泄露)

  2. 客户端连接传输
    使用 FileZilla、FlashFXP 等工具,输入云服务器 IP、FTP 用户名、密码,选择 “FTP” 协议连接,拖拽文件传输。

八、方法七:自动化脚本与 DevOps 工具(定期备份 / CI/CD)

若需定期传输文件(如每日备份)或集成到 CI/CD 流程(如代码部署),可通过脚本或 DevOps 工具实现自动化,无需手动操作。

适用场景

  • 每日 / 每周自动


Search Bar

最新资讯

2025-08-04

戴尔 VxRail 斩获 20...

2025-08-27

服务器流量与带宽:区别、计费差...

2025-08-13

Windows Server ...

2025-07-29

香港服务器成游戏私服热门之选:...

2025-08-22

电子商务网站服务器选择指南:从...