trzsz终端文件传输利器
1.简介
trzsz 是一个简单的文件传输工具, 类似于 lrzsz ( rz / sz ), 并与 tmux 兼容。
2.引言
用过 rz
、sz
上传和下载文件的,都知道非常的方便。那么,在 Linux 的原生终端,在 Mac 上的原生终端,在 Windows 中的 cmd 和 PowerShell 等,又能不能像 rz / sz 那样方便地传文件呢?
3.trzsz
用 https://github.com/trzsz/trzsz-go 这个开源软件,不要用GitHub:https ://github.com/trzsz/trzsz,就可以实现类似 rz、sz 那样上传和下文件,还支持传输目录,支持拖文件和目录直接上传,传大文件时进度条也非常友好。
3.1 支持的终端
- iTerm2 – 参考 Trzsz-iTerm2 安装文档。
- tabby – 安装 tabby-trzsz 插件即可。
- electerm – 升级到
1.19.0
以上的版本即可。 - ttyd – 升级到
1.7.3
以上的版本,并且启动时加上-t enableTrzsz=true
,非 localhost 要用https
。 - trzsz-go – 只要是支持本地 shell 的终端就可以用。
- trzsz.js – 让运行在浏览器中的 webshell 和用 electron 开发的终端支持
trzsz
。
4.用法
1 、在本地使用 trzsz ssh x.x.x.x
登录服务器( 若用 trzsz -d ssh x.x.x.x
登录,则支持拖文件和目录上传 )。
2、在服务器上使用 trz
命令上传文件,使用 trz -d
上传目录。
3、在服务器上使用 tsz xxx
命令下载 xxx 文件,使用 tsz -d xxx
下载 xxx 目录。
4.1 上传和下载的示例
4.2 拖文件上传的示例
4.3 安装说明
4.3.1 Ubuntu 用 apt 安装
4.3.2 Debian 用 apt 安装
4.3.3 CentOS 用 yum 安装
4.3.4 Mac 用 homebrew 安装
4.3.5 Windows 用 Scoop 安装
4.3.6 ArchLinux 用 yay 安装
4.3.7 其他 从 github release 下载,或者用 go 编译:
4.4 可配置项
配置文件路径为 ~/.trzsz.conf
1、DefaultUploadPath
可以设置每次上传默认打开哪个目录。
2、DefaultDownloadPath
可以设置下载的默认路径( 不需要再弹窗选择路径 )。
4.5 使用建议
1、为了使用方便,可以设置 alias
,例如 alias ssh="trzsz ssh"
,又或者 alias ssh="trzsz -d ssh"
支持拖文件上传。
2、trzsz
支持 tmux
,如果是在本地使用 tmux
,则先运行 tmux
,再 trzsz ssh
登录到远程服务器,即可使用 trz
和 tsz
进行上传和下载。
5.常见问题
- 如果 MSYS2 或 Git Bash 遇到错误
The handle is invalid
。在trzsz
前面加上winpty
即可,如winpty trzsz ssh x.x.x.x
这样登录服务器。
Git Bash
已默认安装有 winpty
,MSYS2
需要手工安装 pacman -S winpty
。
MSYS2
中用法 winpty trzsz /c/Windows/System32/OpenSSH/ssh.exe x.x.x.x
。
Cygwin
中用法 trzsz "C:\Windows\System32\OpenSSH\ssh.exe" x.x.x.x
。
- 拖文件或目录,没有自动上传?
1、检查 ssh
登录时有没有加上 -d
选项,如 trzsz -d ssh x.x.x.x
。
2、检查服务器上有没有安装 trzsz 或 trzsz-go,trz
应在某个 PATH
路径下。
3、在 Windows 中,检查标题有没有管理员
三个字,以管理员运行
时可能会由于 UAC 设置的原因导致拖不了文件。
4、在 Windows Terminal 中,需要将文件或目录拖到左上角,显示粘贴文件路径
时再放开。
5、在 Windows 的 cmd
和 PowerShell
中,一次只能拖一个文件或目录,拖多个也只有鼠标正对着的那个是生效的。