本文介绍通过 Zmodem 在本地和远端服务器间快速传输文件,这种做法更为简单方便。以前使用 scp 命令在本机和远端服务器间进行文件传输显得有些复杂,看看本文你就明白了。

Zmodem简介

Zmodem 是针对 modem 的一种支持错误校验的文件传输协议。Zmodem 是 Ymodem 的改进版,后者又是 Xmodem 的改进版。Zmodem 不仅能传输更大的数据,而且错误率更小。

利用 Zmodem 协议,可以在 modem 上发送 512 字节的数据块。Zmodem 包含一种名为检查点重启的特性,如果通信链接在数据传输过程中中断,能从断点处而不是从开始处恢复传输。

配置iTerm2支持Zmodem

要让 iTerm2 在远端服务器上支持通过 Zmodem 协议传输,需要分别在服务端和客户端进行相应配置。网上大多数文档都只提到客户端部分。因为收发方都必须有支持 Zmodem 协议的工具,才能进行正常收发。下面我们就来看看是如何进行配置的。

服务端配置

lrzsz 软件包是支持 Zmodem 协议的工具包。其包含的 rz、sz 命令是通过 ZModem 协议在远程服务器和终端机器间上传下载文件的利器。

为了正确通过 sz、rz 命令传输文件,服务端需要安装 lrzsz 软件包的。

1.针对Ubuntu 或 Debian系统:

$ apt-get install lrzsz

2.针对RHEL 或 CentOS系统:

$ yum install lrzsz

客户端配置

1.安装lrzsz

和服务器端一样,客户端同样需要安装 lrzsz 软件包。这里通过 Homebrew 进行 lrzsz 软件包安装。

$ brew install lrzsz

2.配置iTerm2

在开发爱好者网站 Github 上,已经有人共享了一个叫「ZModem integration for iTerm 2」的项目。我们只需下载其相应脚本,并进行简单配置就可以很容易的在 iTerm2 上实现对 Zmodem 的支持。

1].下载并安装脚本

$ git clone https://github.com/mmastrac/iterm2-zmodem.git

$ cd iterm2-zmodem

$ cp iterm2-recv-zmodem.sh iterm2-send-zmodem.sh  /usr/local/bin/

2].配置iTerm2上的触发器

打开 iTerm2 ,点击 Preferences → Profiles 选择指定的 Profile,这里选 Default。然后继续选择 Advanced → Triggers,并点击 Edit 添加两个触发器。

按如下内容添加两个触发器,首先增加 sz 指令的触发器:

Regular expression: rz waiting to receive.\*\*B0100

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-send-zmodem.sh

Instant: checked

其次增加 rz 指令的触发器:

Regular expression: \*\*B00000000000000

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

Instant: checked

成功增加完成后的效果,类似下图:

配置这两个触发器的作用就是让 iTerm2 根据终端上显示的字符通过指定的触发器调用相应的发送和接收脚本。

使用Zmodem传输文件

1.发送文件到远端服务器

在远端服务器执行 rz 命令

本地选择文件传输

等待传输指示消失

2.接收远端服务器的文件

在远端服务器执行 sz filename1 filename2 … filenameN 命令

本地选择目录保存

等待传输指示消失

上面详细介绍了如何在 macOS 下通过 Zmodem快速传输文件的方法,你可能会问没有 macOS 的情况下如何破?其实在 Windows 下实现更加简单,只需使用一个支持 Zmodem 的终端软件就行了,这里推荐 XShell。当然服务端的 lrzsz 软件包是必不可少的。

相关主题

iterm2上传文件到linux,在iTerm2中使用Zmodem实现快速传输文件相关推荐

  1. Win11如何搭建FTP服务器以实现快速传输文件?

    Win11如何搭建FTP服务器以实现快速传输文件?## Win11如何搭建FTP服务器以实现快速传输文件?相信大家在工作或生活的过程中,都会碰到需要传输大文件的情况,像U盘.QQ文件传输助手等工具显然 ...

  2. linux上传oracle压缩包,Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题...

    http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-lin ...

  3. 通过h5页面上传视频到Linux服务器

    1. 上传视频到本地 https://www.jb51.net/article/132531.htm 2. 上传视频到Linux服务器 建立ftp连接(保证服务器已经安装ftp及对应端口,帐号有权限) ...

  4. WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...

    核心概念 WAF Web应用防火墙(Web Application Firewall),简称WAF. Web攻击 针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入.XSS跨站.Websh ...

  5. linux windows文件 编码_Mac, Windows和Linux电脑之间如何快速传输文件

    Mac, Windows和Linux电脑之间如何快速传输文件 本文介绍的方法主要适用于在家庭环境中的多台电脑之间快速传输文件,比如家中有三台电脑分别是Windows, Mac和Linux系统,如果传输 ...

  6. linux禁止ssh传输文件,如何在Linux下使用scp命令通过ssh安全传输文件

    原标题:如何在Linux下使用scp命令通过ssh安全传输文件 在Unix或Linux操作系统上,scp实用程序(secure copy)与更著名的命令cp类似,但用于在安全加密的网络上在主机之间传输 ...

  7. 将本地项目上传到自己的Git仓库中【超级详细+绝不失败最终版】

    文章目录 一.新建一个自己的Git仓库 二.将本地项目上传到自己的Git仓库中 1. 快速步骤分解 2. 图文步骤详解 跟着文章一步一步来, 最后去你的码云仓库刷新一下就有项目内容了 一.新建一个自己 ...

  8. 【Docker镜像文件加载原理生产中重新制作并提交镜像文件案例演示】

    一.知识回顾 之前的内容都帮你整理好了,在这里哟! [0.Docker相关目录文章整理,可自行查看,包含多节内容] [1.Docker详细安装部署&阿里镜像地址配置] [2.Docker架构& ...

  9. 两台笔记本之间快速传输文件,电脑对电脑怎么传送数据

    我们在日常办公中通常会遇到文件传输的需求,如何进行文件传输?两台笔记本之间快速传输文件?如果您正在寻找可靠的电脑数据迁移软件,不妨花点时间看看此教程.接下来了解有关文件传输的更多信息以及文件传输应用程 ...

  10. 两台笔记本之间快速传输文件,两台电脑之间快速传输大量文件

    想用自己的笔记本电脑给同事的电脑传文件,却发现自己和同事都没有带U盘和数据线,怎么办?两台笔记本之间快速传输文件?接下来介绍的方法你可能用得到. 方案一.微信.QQ传输文件 简单的方法就是两台电脑都登 ...

最新文章

  1. 根据keyName(如:result.data.name),无限深度遍历获取keyValue
  2. 甘肃关于领取软考2021年上半年合格证书的通知
  3. 三、自然语言处理研究内容
  4. [css] 当全国哀悼日时,怎么让整个网站变成灰色呢?
  5. map类的erase方法的在Linux与Windows中的差异
  6. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】
  7. Node.js:封装Node通用web容器
  8. mybatis源码:mybatis的sql解析
  9. 08CMS之数据库操作
  10. 代码里的Override和Overload
  11. 用户活跃、留存、流失,终于讲清楚了!
  12. 【每日早报】2019/08/14
  13. iphone 计算机 桌面图标不见了,Mac苹果电脑的应用程序图标消失不见了如何恢复...
  14. 史上最全!国内外最新免费3D模型下载网站分享!
  15. Linux下ffmpeg的完整安装
  16. 【Android】RecycleView简单仿漫画APP图片相关样式
  17. 【EXPDP】11g版本EXPDP 的COMPRESSION参数压缩比堪比“gzip -9”
  18. ubuntu大于4T分区 12T硬盘分区
  19. Android 增量更新完全解析 是增量不是热修复
  20. Python打包成exe,文件太大问题解决办法

热门文章

  1. 运动控制卡应用开发教程之C#
  2. 服务器注册dll,我在注册全部dll时出现. “Microsoft(C)注册服务器已停止工作”,我是为了解决一个...
  3. 魔抓编程_编程中的魔数是什么?
  4. springboot框架(2):整合junit4
  5. 实验楼与蓝桥网站合并 FAQ
  6. DM7 达梦 数据库 数据守护(Data Watch) -- 实时主备环境搭建
  7. 【Xposed】框架安装full.xml.gz下载失败解决方法总结
  8. Java注解@PostConstruct使用及相关原理分析
  9. ERP实施项目的计划阶段要点分析
  10. 计算机专业英语词汇缩写,计算机专业英语词汇中英文对照其他缩写,外语网