请启用 Javascript 以查看内容

iterm2使用trzsz代替lrzsz

 ·   ·  ☕ 3 分钟  ·  ✍ ayunw

前言

MacOS下被广大运维朋友青睐的一款高端靓眼的terminal工具,iterm2当属其中之一。在运维工作中,不少人应该像我一样,会有上传和下载文件的需求。以前一直使用lrzsz,但是在iterm2上其实并不是非常好用。偶然一次发现了trzsz工具,发现它挺牛逼的。lrzsz无法在你使用跳板机并登录另一台机器后直接上传下载文件,但是trzsz却可以实现(也可能是我测试的文件比较小的原因)。

地址

trzsz的GitHub地址
trzsz中文文档

安装trzsz

1、服务器上安装

推荐使用 1.2 中的编译安装的方法来安装Python3,因为yum安装默认是3.6版本,,目前Python已经到3.10.4版本了。

1.1 yum 安装

yum安装在centos 8 上安装的默认是3.6版本

1
2
3
4
yum -y install python3
python3 -m pip install --upgrade pip
python3 -m pip -V
python3 -m pip install --upgrade trzsz-libs trzsz-svr

建议使用Python3安装,如果有版本要求,可以编译安装,但是不推荐用过气的Python2安装。

1.2 编译安装

Python官网:https://www.python.org

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
PYTHON_VERSION="3.10.5"
OPENSSL_VERSION="1.1.1"

chattr -i /etc/fstab /etc/passwd /etc/group /etc/shadow /etc/sudoers /etc/resolv.conf
yum -y update
yum -y install yum-utils
yum-complete-transaction --cleanup-only
yum -y groupinstall "Development tools"
yum -y install gcc gcc-c++ vim lrzsz wget telnet ntp ntpdate chrony \
  net-snmp nmap unzip net-tools tree psmisc ncurses ncurses-devel curl-devel \
  openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel \
  bridge-utils zlib* gdbm-devel db4-devel libpcap-devel xz-devel make \
  openssh-clients man mtr traceroute bash-completion sysstat htop iotop \
  iftio atop iperf ifstat vnstat iptraf

wget --no-check-certificate https://www.openssl.org/source/old/${OPENSSL_VERSION}/openssl-${OPENSSL_VERSION}p.tar.gz
tar xf openssl-${OPENSSL_VERSION}p.tar.gz
cd openssl-${OPENSSL_VERSION}p
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make -j 4
make install
cd ..

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
mv /usr/bin/openssl /usr/bin/openssl.old.`date +%F`.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl


#wget https://www.python.org/ftp/python/3.10.5/Python-3.10.5.tgz
#tar xf Python-3.10.5.tgz
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
tar xf Python-${PYTHON_VERSION}.tgz
cd Python-${PYTHON_VERSION}
./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl
make -j 4 && make install
cd ..

#rm -f Python-${PYTHON_VERSION}.tgz

# 添加环境变量
echo 'export PATH=$PATH:/usr/local/python3/bin' >> /etc/profile
source /etc/profile

# 备份原先的Python3和pip3,根据自己实际情况来做软链接,不要直接复制粘贴
mv /usr/bin/python3 /usr/bin/python3.bak
# ln -s /usr/local/python/bin/python3 /usr/bin/python3.10
ln -s /usr/local/python/bin/python3 /usr/bin/python3
mv /usr/bin/pip3 /usr/bin/pip3.bak
# ln -s /usr/local/python/bin/pip3 /usr/bin/pip3.10
ln -s /usr/local/python/bin/pip3 /usr/bin/pip3
/usr/local/python3/bin/pip3 install -U pip --default-timeout=1000 --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

mkdir -p /root/.pip
cp files/pip.conf /root/.pip/

# 查看pip3和Python3版本
python3 --version
pip3 --version

Note: 如果提示SSL问题,可以参考以下博客解决
https://blog.csdn.net/YMY_mine/article/details/103804365

2、iterm2上安装

1
2
3
4
5
6
7
8
# 用Homebrew安装
brew update
brew install trzsz

which trzsz-iterm2

# 如果路径不是/usr/local/bin/trzsz-iterm2,请做个软链接
ln -sv $(which trzsz-iterm2) /usr/local/bin/trzsz-iterm2

温馨提示: MacOS上受限于网络原因而无法很好安装hombrew的用户可以参考: MacOS终端使用clash设置代理。如果还不明白,下面留言留下联系方式告诉我!

3、配置显示进度条

在macOS本地 安装 zenity,安装在 /usr/local/bin/zenity 就可以显示进度条,不安装也可以正常使用。

1
2
3
4
5
6
7
# 打开代理,没有这一步的用户,根据上面温馨提示参考设置代理后使用
proxy_on

brew install ncruces/tap/zenity
which zenity
# 如果输出不是/usr/local/bin/zenity,则设置软链接
sudo ln -sv $(which zenity) /usr/local/bin/zenity

4、配置iterm2触发器

如果以前设置了zmodem的话,就删除掉,改成如下:
打开 Preferences -> Profiles -> Advanced -> Triggers -> Edit,如下配置:

  • Regular Expression: :(:TRZSZ:TRANSFER:[SR]:\d+\.\d+\.\d+:\d+)
  • Action: Run Silent Coprocess
  • Parameters: /usr/local/bin/trzsz-iterm2 \1
  • Enabled 要勾选

接下来就可以使用 trz /tmp/来上传文件到tmp目录,使用tsz file1 file2 file3来批量下载多个文件到本地了。赶紧去试试吧!

                                    ----- 本页内容已结束,喜欢请分享并注明原文链接 -----
您的鼓励是我最大的动力
alipay QR Code
wechat QR Code

Avatar
作者
ayunw
尼古丁的绑架没有救赎,我们皆是上瘾的囚徒


目录