基于Python编程语言开发且兼容TMUX的文件传输工具

电子说

1.2w人已加入

描述


		

		

某种场景下,考虑到 LapTop -> Host 1 -> Host 2 -> Docker -> TMUX,使用scpsftp命令不方便。使用rzsz命令就会方便很多,但是却又与 TMUX 不兼容。

那么,今天推荐给大家的这款神器,绝对香。

trzsz(trz / tsz)是一个基于 Python 编程语言开发且兼容 TMUX 的文件传输工具,类似于 lrzsz(rz / sz),并且 trzsz 有进度条、支持目录传输和文件拖动上传、支持 iTerm2、Tabby、Electerm、TTYD 终端。

trzsz-go 是基于 Go 语言实现的的 trzsz,它不需要依赖终端的支持,即可上传和下载文件。

trzsz-js 支持 Windows 本地的 cmd、PowerShell 等;支持目录trz -d上传和tsz -d xxx下载;支持拖动文件及目录直接上传到服务器。

安装 trzsz

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 安装:

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

Mac 用 homebrew 安装:

brew update
brew install trzsz-go

Windows 用 scoop 安装:

scoop bucket add extras
scoop install trzsz

或从 GitHub 下载源代码安装:

git clone https://github.com/trzsz/trzsz-go.git
cd trzsz-go
make
sudo make install

使用 trzsz

trz 将文件上传到远程服务器的用法:

trz [-h] [-v] [-q] [-y] [-b] [-e] [-d] [-B N] [-t N] [path]

 

  • -h:帮助信息并退出

  • -v:显示版本并退出

  • -q:传输文件时,隐藏进度条

  • -y:如存在相同的文件名,则直接覆盖现有文件

  • -b:二进制传输模式,对于压缩包、图片、影音传输会较快

  • -e:转义所有已知的控制字符

  • -d:上传、下载指定的文件或文件夹

  • -b:设置最大缓冲区上限,会自动根据网速选择合适的缓冲区大小,但不会超过此上限。(默认值:10M)

  • -t:设置超时秒数(默认值:20秒)在超时时间内,如无法传完一个缓冲区大小的数据,则会报错并退出。设置为 0 或负数时,则永不超时。

  • path:保存文件的路径。(默认为:当前目录)

trz 不带任何参数,则将所要上传的文件到当前目录下,也可以指定所要上传到的目录。

# trz
# trz /opt

 

python

在本地使用trzsz ssh IP地址登录服务器,或使用trzsz -d ssh IP地址登录,即可支持拖动文件和文件夹上传。

python

tsz 从远程服务器下载文件的用法:

tsz [-h] [-v] [-q] [-y] [-b] [-e] [-d] [-B N] [-t N] file [file ...]

 

  • file:要下载的文件

tsz 可以下载一个或多个文件,可使用相对路径或绝对路径,也可使用通配符,下载指定文件。

# tsz file1 file2 file3

 

python

 

上述,大家可根据trztsz上传下载的方式结合实际场景进行运用,体验一下rzsz的替代品。

除此之外,trzsz 中文文档还提供了一些常见异常问题处理方法。

python

References

trzsz:https://github.com/trzsz/trzsz
trzsz-go:https://github.com/trzsz/trzsz-go
trzsz-js:https://github.com/trzsz/trzsz.js
trzsz 中文文档:https://trzsz.github.io/cn/


审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分