trzsz ( trz / tsz ) 是一個(gè)兼容 tmux 的文件傳輸工具溯祸,和 lrzsz ( rz / sz ) 類似坟比,并且有進(jìn)度條和支持目錄傳輸。
GitHub開(kāi)源地址: https://github.com/trzsz/trzsz-go
trzsz-go
使所有支持本地 shell 的終端都支持 trzsz ( trz / tsz —— 和 rz / sz 類似妻枕、兼容 tmux )僻族。
? 推薦在服務(wù)器上使用 go 版 trzsz
,在本地電腦使用 trzsz-ssh ( tssh )屡谐。
有關(guān) trzsz ( trz / tsz )
更詳細(xì)的文檔述么,請(qǐng)查看 https://trzsz.github.io/cn。
安裝方法
-
Ubuntu 可用 apt 安裝
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install trzsz
-
Debian 可用 apt 安裝
sudo apt install curl gpg curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \ | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \ | sudo tee /etc/apt/sources.list.d/trzsz.list sudo apt update sudo apt install trzsz
-
Linux 可用 yum 安裝
-
國(guó)內(nèi)推薦使用 wlnmp 源愕掏,安裝 trzsz 只需要添加 wlnmp 源( 配置 epel 源不是必須的 ):
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash sudo yum install trzsz
-
也可使用 gemfury 源( 只要網(wǎng)絡(luò)通度秘,所有操作系統(tǒng)通用 )
echo '[trzsz] name=Trzsz Repo baseurl=https://yum.fury.io/trzsz/ enabled=1 gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo sudo yum install trzsz
-
-
ArchLinux 可用 yay 安裝
yay -Syu yay -S trzsz
-
MacOS 可用 homebrew 安裝
brew update brew install trzsz-go
-
Windows 可用 scoop / winget / choco 安裝
scoop install trzsz
winget install trzsz
choco install trzsz
-
用 Go 直接安裝( 要求 go 1.20 以上 )
go install github.com/trzsz/trzsz-go/cmd/trz@latest go install github.com/trzsz/trzsz-go/cmd/tsz@latest go install github.com/trzsz/trzsz-go/cmd/trzsz@latest
安裝后,
trzsz
程序一般位于~/go/bin/
目錄下( Windows 一般在C:\Users\your_name\go\bin\
)饵撑。 -
用 Go 自己編譯( 要求 go 1.20 以上 )
git clone --depth 1 https://github.com/trzsz/trzsz-go.git cd trzsz-go make sudo make install
可從 GitHub Releases 中下載剑梳,國(guó)內(nèi)可從 Gitee 發(fā)行版 中下載唆貌,解壓并加到
PATH
環(huán)境變量中。
使用方法
在本地電腦使用
-
在命令前添加
trzsz
阻荒,就可以支持 trzsz ( trz / tsz ) 上傳和下載了挠锥,如:trzsz bash trzsz PowerShell trzsz ssh x.x.x.x
-
在命令前添加
trzsz --dragfile
,就可以啟用拖拽上傳功能侨赡,如:trzsz -d ssh x.x.x.x trzsz --dragfile ssh x.x.x.x
在跳板機(jī)上使用
-
如果在跳板機(jī)上使用
tmux
,則需要再使用trzsz --relay ssh
登錄遠(yuǎn)程服務(wù)器粱侣,如:trzsz ssh jump_server tmux trzsz --relay ssh remote_server
在服務(wù)器上使用
與 lrzsz ( rz / sz ) 類似羊壹,使用
trz
命令上傳文件,使用tsz /path/to/file
命令下載文件齐婴。有關(guān)
trzsz
更詳細(xì)的文檔油猫,請(qǐng)查看 https://trzsz.github.io/cn/。
使用建議
為了使用方便柠偶,可以設(shè)置
alias
情妖,例如alias ssh="trzsz ssh"
,又或者alias ssh="trzsz -d ssh"
支持拖文件上傳诱担。如果在本地電腦使用
tmux
毡证,先不帶trzsz
運(yùn)行tmux
,然后再使用trzsz ssh
登錄遠(yuǎn)程服務(wù)器蔫仙。
可配置項(xiàng)
trzsz
使用的配置文件是 ~/.trzsz.conf
( Windows 是 C:\Users\your_name\.trzsz.conf
)料睛。注意路徑必須包含 /
結(jié)尾,如:
DefaultUploadPath =
DefaultDownloadPath = /Users/username/Downloads/
如果
DefaultUploadPath
不為空摇邦,上傳選擇文件時(shí)會(huì)默認(rèn)打開(kāi)此目錄恤煞。如果
DefaultDownloadPath
不為空,下載文件時(shí)會(huì)自動(dòng)下載到此目錄( 不需要再?gòu)棿斑x擇路徑 )施籍。
支持 Zmodem
使用
-z
或--zmodem
啟用rz / sz
功能居扒,例如trzsz -z ssh remote_server
。需要在客戶端( 本地電腦 )上安裝
lrzsz
丑慎,例如brew install lrzsz
喜喂、apt install lrzsz
等。trzsz --zmodem ssh xxx
不兼容 Windows立哑,你可以使用 trzsz-ssh ( tssh ) 代替夜惭,如tssh --zmodem xxx
。關(guān)于進(jìn)度條铛绰,己傳文件大小和傳輸速度不是精確值诈茧,會(huì)有一些偏差,它的主要作用只是指示傳輸正在進(jìn)行中捂掰。
常見(jiàn)問(wèn)題
-
如果 MSYS2 或 Git Bash 遇到錯(cuò)誤
The handle is invalid
敢会。- 在
trzsz
前面加上winpty
即可曾沈,如winpty trzsz ssh x.x.x.x
這樣登錄服務(wù)器。 -
Git Bash
已默認(rèn)安裝有winpty
鸥昏,MSYS2
需要手工安裝pacman -S winpty
塞俱。
- 在
-
在 MSYS2 和 Cygwin 等,不支持直接使用
/usr/bin/ssh
那個(gè)ssh
吏垮,可能會(huì)傳輸失敗障涯。需要使用 Windows 自帶的 OpenSSH。-
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
唯蝶。 - ? 推薦使用 trzsz-ssh ( tssh ),
tssh
等同于trzsz ssh
遗嗽。
-
-
拖文件或目錄到終端后粘我,沒(méi)有自動(dòng)上傳?
- 檢查
ssh
登錄時(shí)有沒(méi)有加上--dragfile
選項(xiàng)痹换,如trzsz --dragfile ssh x.x.x.x
征字。 - 檢查服務(wù)器上有沒(méi)有安裝 trzsz,
trz
應(yīng)在某個(gè)PATH
路徑下娇豫。 - 在 Windows 中匙姜,檢查標(biāo)題有沒(méi)有
管理員
三個(gè)字,以管理員運(yùn)行
時(shí)可能會(huì)由于 UAC 設(shè)置的原因?qū)е峦喜涣宋募?/li> - 在 Windows Terminal 中锤躁,需要將文件或目錄拖到左上角搁料,顯示
粘貼文件路徑
時(shí)再放開(kāi)。 - 在 Windows 的
cmd
和PowerShell
中系羞,一次只能拖一個(gè)文件或目錄郭计,拖多個(gè)也只有鼠標(biāo)正對(duì)著的那個(gè)是生效的。
- 檢查
開(kāi)發(fā)指引
想要讓你自己開(kāi)發(fā)的 ssh 客戶端支持 trzsz 椒振?請(qǐng)參考 go ssh client example昭伸。