支持 tmux,类似 rz / sz 的 trzsz 发布 0.1.4 版本
tmux 不支持 rz / sz ,于是有一个兼容 tmux 的 trz / tsz ( trzsz ),可以与 iTerm2 一起用,还有一个不错的进度条。
已发布 0.1.4 版本,支持静默模式,以及解决了 tmux 非控制模式下偶尔出错的问题。
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
本地 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 |
|---|---|
| Regular Expression | :(:TRZSZ:TRANSFER:[SR]:\d+\.\d+\.\d+) |
| Action | Run Silent Coprocess |
| Parameters | /usr/local/bin/trzsz-iterm2 \1 |
| Enabled | ✅ 勾上 |
| Use interpolated strings for parameters | ❎ 别勾 |
本地 macOS 安装 zenity
安装在 /usr/local/bin/zenity 就可以显示进度条,不安装也可以正常使用。
brew install ncruces/tap/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 ( 加上 -q 选项 ),则在传输文件时不显示进度条。
屏幕截图
上传文件示例
下载文件示例
写在最后
trzsz 主要在 GitHub 上进行开发,会在 PyPI 上发布,可以直接用 pip 进行安装。
虽然源代码不在 gitee,但是如果有问题,也可以在 gitee 直接提 Issues 。


