trzsz ( trz / tsz ) is a simple file transfer tools, similar to lrzsz ( rz / sz ), and compatible with tmux.
Website: https://trzsz.github.io/go 中文文档:https://trzsz.github.io/cn/go
Please check https://trzsz.github.io for more information of trzsz
.
trzsz-go
is the go
version of trzsz
, supports native terminals that support a local shell.
⭐ It's recommended to use the go
version of trzsz
on the server.
-
Install with apt on Ubuntu
sudo apt install trzsz
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install trzsz
-
Install with apt on Debian
sudo apt install trzsz
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
-
Install with yum on Linux
sudo yum install trzsz
-
Install with gemfury repository.
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
-
Install with wlnmp repository. It's not necessary to configure the epel repository for trzsz, take CentOS as an example:
sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm sudo yum install trzsz
-
-
Install with yay on ArchLinux
yay -S trzsz
yay -Syu yay -S trzsz
-
Install with homebrew on MacOS
brew install trzsz-go
brew update brew install trzsz-go
-
Install with scoop on Windows
scoop install trzsz
scoop bucket add extras scoop update scoop install trzsz
-
Install with Go ( Requires go 1.20 or later )
go install github.com/trzsz/trzsz-go/cmd/...@latest
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
The binaries are usually located in
~/go/bin/
(C:\Users\your_name\go\bin\
on Windows ). -
Download from the Releases
Or build and install from the source code ( Requires go 1.20 or later )
git clone https://github.com/trzsz/trzsz-go.git cd trzsz-go make sudo make install
-
Add
trzsz
before the shell to support trzsz ( trz / tsz ), e.g.:trzsz bash trzsz PowerShell trzsz ssh x.x.x.x
-
Add
trzsz --dragfile
before thessh
to enable drag files and directories to upload, e.g.:trzsz -d ssh x.x.x.x trzsz --dragfile ssh x.x.x.x
-
If using
tmux
on the jump server, usetrzsz --relay ssh
to login to the remote server, e.g.:trzsz ssh jump_server tmux trzsz --relay ssh remote_server
-
Similar to lrzsz ( rz / sz ), command
trz
to upload files, commandtsz /path/to/file
to download files. -
For more information, check the website of trzsz: https://trzsz.github.io. 中文文档:https://trzsz.github.io/cn/
-
It is recommended to set
alias ssh="trzsz ssh"
for convenience,alias ssh="trzsz -d ssh"
for dragging files to upload. -
If using
tmux
on the local computer, runtmux
( withouttrzsz
) first, thentrzsz ssh
to login.
trzsz
looks for configuration at ~/.trzsz.conf
( C:\Users\your_name\.trzsz.conf
on Windows ). The path have to end with /
, e.g.:
DefaultUploadPath =
DefaultDownloadPath = /Users/username/Downloads/
-
If the
DefaultUploadPath
is not empty, the path will be opened by default while choosing upload files. -
If the
DefaultDownloadPath
is not empty, downloading files will be saved to the path automatically instead of asking each time.
-
If using MSYS2 or Git Bash on windows, and getting an error
The handle is invalid
.- Install winpty by
pacman -S winpty
inMSYS2
. Git Bash
should have winpty installed, no need to install it manually.- Add
winpty
beforetrzsz
, e.g.:winpty trzsz ssh x.x.x.x
.
- Install winpty by
-
The
/usr/bin/ssh
in MSYS2 and Cygwin is not supported yet, use the OpenSSH instead.- In
MSYS2
, e.g.:winpty trzsz /c/Windows/System32/OpenSSH/ssh.exe x.x.x.x
. - In
Cygwin
, e.g.:trzsz "C:\Windows\System32\OpenSSH\ssh.exe" x.x.x.x
. - ⭐ Recommended to use trzsz-ssh ( tssh ) instead,
tssh
is same astrzsz ssh
.
- In
-
Dragging files doesn't upload?
- Don't forget the
--dragfile
option. e.g.:trzsz -d ssh x.x.x.x
. - Make sure the
trz
in one of thePATH
directory on the server. - On Windows, make sure there is no
Administrator
on the title. - The
cmd
andPowerShell
only support draging one file into it. - On the Windows Terminal, drag files to the top left where shows
Paste path to file
.
- Don't forget the
Want to write your own ssh client that supports trzsz? Please check the go ssh client example.
Feel free to email the author [email protected], or create an issue. Welcome to join the QQ group: 318578930.
Want to buy the author a drink 🍺 ?
Thanks @BrightXiaoHan @pmzgit.