Operations 6 min read

Master File Transfers in TMUX with trzsz: Install, Commands, and Tips

This guide explains how to install the TMUX‑compatible file transfer tool trzsz (and its Go version), details its command‑line options, provides step‑by‑step installation commands for various Linux distributions, macOS, and Windows, and shows practical usage examples with screenshots.

Efficient Ops
Efficient Ops
Efficient Ops
Master File Transfers in TMUX with trzsz: Install, Commands, and Tips

What is trzsz

trzsz (trz/tsz) is a Python‑based file transfer utility compatible with TMUX. It works like the classic rz / sz tools but adds a progress bar, directory support, drag‑and‑drop upload, and works in terminals such as iTerm2, Tabby, Electerm, and TTYD. A Go implementation ( trzsz-go) provides the same features without requiring terminal‑specific support.

Installation

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

CentOS / RHEL (yum)

# 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

macOS (Homebrew)

# brew update
# brew install trzsz-go

Windows (Scoop)

# scoop bucket add extras
# scoop install trzsz

Usage

Upload files with trz and download files with tsz. Both commands share the same options:

-h Show help and exit

-v Show version and exit

-q Hide progress bar

-y Overwrite existing files without prompting

-b Binary mode (faster for archives, images, media)

-e Escape all known control characters

-d Specify a file or directory to transfer

-B N Set maximum buffer size (default 10 M)

-t N Set timeout in seconds (default 20 s; 0 or negative disables timeout)

path Destination directory on the remote side (default: current directory)

Upload examples:

# trz               # upload files from the local machine to the remote server
# trz /opt          # upload files to /opt on the remote side

When invoked over ssh (or trzsz -d ssh) the tool supports drag‑and‑drop of files and folders.

Download example:

# tsz file1 file2 file3

Reference Documentation

trzsz repository: https://github.com/trzsz/trzsz

trzsz‑go repository: https://github.com/trzsz/trzsz-go

trzsz‑js repository: https://github.com/trzsz/trzsz.js

Chinese documentation: https://trzsz.github.io/cn/

GoLinuxCommand Linefile transfertmuxtrzsz
Efficient Ops
Written by

Efficient Ops

This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.