Mac上如何通过跳板机向服务器上上传大文件

本文介绍如何在Mac上通过跳板机向服务器传输大文件。首先安装iterm2并配置rz、sz命令,接着使用split命令分包大文件,并逐一上传至服务器,最后用cat命令合并文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mac上如何通过跳板机向服务器上上传大文件

最近的工作中,要在服务器上,做大量数据的运算。因此有了通过跳板机向服务器上传输大文件(几十G)的需求。由于需要通过跳板机,因此,scp的方法在此不适用了,需要通过rz、sz的方式。
我是通过如下两个步骤实现的:
1. 安装iterm2,然后就可以使用rz、sz进行传输了
2. 利用命令split分包
3. 上传
4. 利用命令cat再合成一个包


1. Mac端安装iterm2

参考链接:iTerm2使用rz、sz远程上传或下载文件

1.1.

brew install lrzsz

1.2.

cd /usr/local/bin
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh
sudo wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh
sudo chmod 777 /usr/local/bin/iterm2-*

打开Item2,点击preferences → profiles,选择某个profile,如Default,之后继续选择advanced → triggers,添加编辑添加如下triggers:

RegularExpression ActionParameters
rz waiting to receive.**B0100Run Silent Coprocess/usr/local/bin/iterm2-send-zmodem.sh
**B00000000000000Run Silent Coprocess/usr/local/bin/iterm2-recv-zmodem.sh

2. 分包上传再合并

参考链接:

2.1 split分包

  • 利用split命令对大文件(以ev.zip为例)进行分包
split -b100k ev.zip ev 

这里写图片描述

  • md5验证
md5sum ev.zip

这里写图片描述

2.2 上传

  • 在服务器端利用rz命令上面的小文件分别传到服务器上

2.3 合并

  • 合并
cat ev* > ev.zip
  • 服务器端利用md5sum命令进行验证
md5sum ev.zip

这里写图片描述
和mac端的md5一致,传输成功


3. 结论

上面即通过跳板机从客户端向服务器传输大文件的过程,若要从服务器下载,将整个过程逆过来进行即可。

### 使用 SCP 和 SFTP 将本地文件上至远程服务器 #### 使用 SCP 命令输单个文件 SCP 是一种基于 SSH 的安全复制协议,用于在不同主之间输文件。要将本地文件 `localfile.txt` 上到远程用户的家目录下,可以使用如下命令: ```bash scp /path/to/localfile.txt username@remotehost:/destination/path/ ``` 此命令会通过 SSH 连接将 `/path/to/localfile.txt` 文件发送给指定的用户名和远程主地址,并放置于目标路径中[^1]。 对于更复杂的场景,比如需要设置特定端口或加密方式时,则可利用更多选项来增强安全性与灵活性。例如,在非默认SSH端口上操作并选择AES作为密钥交换算法: ```bash scp -P 2222 -c aes /path/to/localfile.txt username@remotehost:/destination/path/ ``` 这里 `-P` 参数指定了自定义的服务端口号;而 `-c` 则用来设定所使用的密码学方法[^3]。 #### 创建只读写权限的 FTP 上载目录 如果希望通过 FTP 方式让外部用户提交资料而不影响其他资源的安全性,可以在 `/var/ftp/pub/` 下建立专门供上用途的新子目录,并调整其访问控制列表ACL使其仅限于追加内容而非浏览已有项目。具体做法涉及创建新文件夹以及修改相应属性: ```bash mkdir /var/ftp/pub/upload chmod 722 /var/ftp/pub/upload ``` 上述指令序列首先建立了名为 "upload" 的公共存储空间,接着赋予了恰当的操作许可组合以确保数据隔离效果[^2]。 #### 使用 SFTP 客户端交互模式执行批量任务 除了命令行形式的一次性拷贝外,SFTP 提供了一个更加直观易用的人界面来进行多步处理流程的设计实施。启动该工具只需输入简单的连接字符串即可进入类似于shell环境下的工作区: ```bash sftp user@hostname ``` 一旦成功登录之后就可以运用诸如 put/get 等内置函数完成双向的数据迁移动作。特别适合那些频繁变动或者规模较大的作业场合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值