支持 tmux,类似 rz / sz 的 trzsz 发布 0.3.0 版本
tmux 不支持 rz / sz ,于是有一个兼容 tmux 的 trz / tsz ( trzsz ),
可以与 iTerm2 一起用,还有一个不错的进度条。
已发布 0.3.0 版本:
1、支持二进制模式传输,对于压缩包、图片、影音等传输会快一些。
2、优化了多处使用体验,提示更友好,Python2 也能支持中文名。
trzsz
trzsz 是一个简单的文件传输工具,和 lrzsz ( rz / sz ) 类似但支持 tmux,和 iTerm2 一起使用,并且有一个不错的进度条。
GitHub: https://github.com/trzsz/trzsz
为什么开发 trzsz ?
登录远程电脑时用 tmux 保持会话,但 tmux 不支持用 rz / sz 上传和下载文件,这就很不方便了。
重新造一个 rz / sz 比修改 tmux 相对简单很多,并且可以加个进度条,体验上会好很多。
安装指南
远程服务器安装 trzsz-svr
sudo python3 -m pip install --upgrade trzsz-libs trzsz-svr
- 同样也支持 Python2:
sudo pip install --upgrade trzsz-libs trzsz-svr
- 没有
sudo
权限也可以安装,但是要将安装路径 ( 可能是~/.local/bin
) 添加到 PATH 环境变量中。 - 安装后执行
trz -v
或tsz -v
,如果输出 trzsz 的版本号就是安装成功了,否则检查前面安装的输出是不是有错误。
本地 macOS 安装 trzsz-iterm2
sudo python3 -m pip install --upgrade trzsz-libs trzsz-iterm2
- 同样也支持 Python2:
sudo pip install --upgrade trzsz-libs trzsz-iterm2
- 安装后执行
which trzsz-iterm2
,如果输出/usr/local/bin/trzsz-iterm2
就是安装成功了,如果不是:- 执行
which trzsz-iterm2
没有输出,检查前面安装的输出是不是有错误。 - 执行
which trzsz-iterm2
输出另一个路径,可以建一个软链接:
sudo ln -sv $(which trzsz-iterm2) /usr/local/bin/trzsz-iterm2
- 执行
iTerm2 配置触发器
打开 Preferences -> Profiles -> Advanced -> Triggers -> Edit
,如下配置:
Name | Value | Note |
---|---|---|
Regular Expression | :(:TRZSZ:TRANSFER:[SR]:\d+\.\d+\.\d+:\d+) | 前后无空格 |
Action | Run Silent Coprocess | |
Parameters | /usr/local/bin/trzsz-iterm2 \1 | 前后无空格 |
Enabled | ✅ | 选中 |
-
不要选中最下面的
Use interpolated strings for parameters
。 - iTerm2 Trigger 的配置允许输入多行,但只显示一行,注意不要复制了一个换行符进去。
本地 macOS 安装 zenity
安装在 /usr/local/bin/zenity
就可以显示进度条,不安装也可以正常使用。
brew install ncruces/tap/zenity
- 如果
Mac M1
安装失败,可以试试用go
进行编译安装:brew install go go install 'github.com/ncruces/zenity/cmd/zenity@latest' sudo cp ~/go/bin/zenity /usr/local/bin/zenity
- 安装后执行
which zenity
,如果输出/usr/local/bin/zenity
就是安装成功了,如果不是:- 执行
which zenity
没有输出,检查前面安装的输出是不是有错误。 - 执行
which zenity
输出另一个路径,可以建一个软链接:
sudo ln -sv $(which zenity) /usr/local/bin/zenity
- 执行
使用指南
trz
上传文件
trz
命令可以不带任何参数,将上传文件到当前目录。也可以带一个目录参数,指定上传到哪个目录。
trz /tmp/
tsz
下载文件
tsz
可以带一个或多个文件名(可使用相对路径或绝对路径,也可使用通配符),将下载指定的文件。
tsz file1 file2 file3
-q
静默模式
trz -q
或 tsz -q xxx
( 加上 -q
选项 ),则在传输文件时不显示进度条。
-y
覆盖模式
trz -y
或 tsz -y xxx
( 加上 -y
选项 ),如果存在相同文件名的文件就直接覆盖。
-b
二进制模式
trz -b
或 tsz -b xxx
( 加上 -b
选项 ),二进制传输模式,对于压缩包、图片、影音等较快。
-e
转义控制字符
二进制传输模式时,控制字符可能会导致传输失败,trz -eb
或 tsz -eb xxx
( 加上 -e
选项 ) 转义所有已知的控制字符。
-B
缓冲区大小
trz -B 10k
或 tsz -B 2M xxx
等,设置缓存区大小 ( 默认 1M )。太小会导致传输速度慢,太大会导致进度条更新不及时。
-t
超时时间
trz -t 10
或 tsz -t 30 xxx
等,设置超时秒数 ( 默认 100 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。
异常处理方法
- 如果出现了错误,且
trzsz
挂住不能动了:- 按组合键
Command + Option + Shift + R
停止 iTerm2 Coprocesses。 - 按组合键
Control + j
停止服务器上的trz
或tsz
进程。
- 按组合键
- 如果
trz -b
二进制上传失败,并且登录远程服务器时使用了telnet
或docker exec
:- 可以试试转义所有控制字符,例如
trz -eb
。
- 可以试试转义所有控制字符,例如
- 如果
trz -b
二进制上传失败,并且远程服务器使用 Python3 ( 版本小于 3.7 ):- Python3 ( 版本小于 3.7 ) 支持 base64 模式,不使用
-b
选项即可,使用trz
代替。 - 如果想用
trz -b
二进制上传,则需要升级 Python3 到 3.7 以上的版本,或者使用 Python2。
- Python3 ( 版本小于 3.7 ) 支持 base64 模式,不使用
- 如果
trz -b
或tsz -b
二进制传输失败,并且登录远程服务器时使用了expect
:- 可以试试在
expect
脚本前设置环境变量export LC_CTYPE=C
,例如:#!/bin/sh export LC_CTYPE=C expect -c ' spawn ssh xxx expect "xxx: " send "xxx\n" interact '
- 可以试试在
屏幕截图
上传文件示例
下载文件示例
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
闻名世界的黑客组织REvil被抓获:现场缴获大量现金
以勒索病毒闻名世界的黑客组织REvil,被抓获了。 据外媒报道,周五,俄罗斯联邦安全局(FSB)宣布,已经逮捕了14名与网络犯罪团伙REvil相关的人员,并没收了超过4.26亿卢布的财产。 根据俄罗斯联邦安全局的说法,此次搜查行动是在美国相关部门的请求下进行的,美国方面报告了一名该网络犯罪团伙头目。 随后,俄罗斯联邦安全局与俄罗斯内政部调查司合作,确定了REvil犯罪团伙的全部成员,并实施了抓捕行动,成功,抓获了14名相关人员。 此外,还在14名成员的25处地址中,查获了超过4.2 6亿卢布(约合人民币3553万元)的财产,其中包括60万美元、50万欧元,以及用于实施犯罪的计算机设备和假证件。 据悉,REvil首次出现于2019年,其勒索软件迅速让其名声大噪,并且该组织还十分猖狂,曾多次对受害者进行公开羞辱,可谓是臭名昭著。 在去年5月,REvil就曾向美国最大的肉类供应商发动了攻击,最终成功从该公司获得了1100万美元的赎金。 随后,REvil又再次对管理服务提供商(MSP)Kaseya公司发起攻击,导致全球上千家公司电脑被锁定,上百万个系统被入侵,并索要价值7000万美元的比特币赎...
- 下一篇
Eurynome Cloud 2.6.2.90 修复 Integrity check failed 问题
Eurynome Cloud 是一款企业级微服务架构和服务能力开发平台。基于Spring Boot 2.6.2、Spring Cloud 2021.0.0、Spring Cloud Alibaba 2021.1、Nacos 2.0.3 等最新版本开发,遵循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能 平台定位 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方案。 面向企业级应用和互联网应用设计开发,既兼顾传统项目的微服务化,又满足互联网应用开发建设、快速迭代的使用需求。 平台架构使用微服务领域及周边相关的各类新兴技术或主流技术进行建设,是帮助快速跨越架构技术选型、研究探索阶段的利器。 代码简洁规范、结构合理清晰,是新技术开发应用的典型的、综合性案例,助力开发人员对新兴技术的学习和掌握。 [2]、本次更新内容 Spring Boot Admin 升级至 2.6.1 修复前端工程,因阿里库依赖包签名不正确,导致执行 yarn 编译命令以及 yarn 升级依赖命令,会抛出 I...
相关文章
文章评论
共有0条评论来说两句吧...