Mac下用iTerm2终端使用rz、sz进行服务器上传下载文件

1.安装rz、sz

brew install lrzsz

2.配置iterm2触发器

在/usr/local/bin/下创建脚本iterm2-send-zmodem.sh与iterm2-recv-zmodem.sh

iterm2-send-zmodem.sh内容如下:

#!/bin/bash

# Author: Matt Mastracci (matthew@mastracci.com)

# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script

# licensed under cc-wiki with attribution required

# Remainder of script public domain

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm

if [[ $NAME = "iTerm" ]]; then

FILE=$(osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")

else

FILE=$(osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")

fi

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \\x18\\x18\\x18\\x18\\x18

sleep 1

echo

echo \# Cancelled transfer

else

/usr/local/bin/sz "$FILE" --escape --binary --bufsize 4096

sleep 1

echo

echo \# Received "$FILE"

fi

iterm2-recv-zmodem.sh内容如下:

#!/bin/bash

# Author: Matt Mastracci (matthew@mastracci.com)

# AppleScript from http://stackoverflow.com/questions/4309087/cancel-button-on-osascript-in-a-bash-script

# licensed under cc-wiki with attribution required

# Remainder of script public domain

osascript -e 'tell application "iTerm2" to version' > /dev/null 2>&1 && NAME=iTerm2 || NAME=iTerm

if [[ $NAME = "iTerm" ]]; then

FILE=$(osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")

else

FILE=$(osascript -e 'tell application "iTerm2" to activate' -e 'tell application "iTerm2" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script (\"echo \"&(quoted form of POSIX path of thefile as Unicode text)&\"\")")

fi

if [[ $FILE = "" ]]; then

echo Cancelled.

# Send ZModem cancel

echo -e \\x18\\x18\\x18\\x18\\x18

sleep 1

echo

echo \# Cancelled transfer

else

cd "$FILE"

/usr/local/bin/rz --rename --escape --binary --bufsize 4096

sleep 1

echo

echo

echo \# Sent \-\> $FILE

fi

3.赋予两个脚本执行权限

chmod +x iterm2-recv-zmodem.sh

chmod +x iterm2-send-zmodem.sh

4.在iterm2中配置两条触发规则

iTerm2 -> Preferences -> Profiles -> Default -> Advanced-> Triggers下的Edit按钮

Regular expression: rz waiting to receive.\*\*B0100

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-send-zmodem.sh

Instant: checked

Regular expression: \*\*B00000000000000

Action: Run Silent Coprocess

Parameters: /usr/local/bin/iterm2-recv-zmodem.sh

Instant: checked

配置完了,新开一个iTerm2的窗口就可以试试执行rz,看能不能弹出选择文件窗口,如果可以就配置好了。

5.测试

上传文件

登录到服务器后,输入rz就会自动弹出选择文件对话框了,选择后确定开始上传传输。

下载文件

登录到服务器后,输入sz filename 就会自动弹出选择路径对话框了,选择后确定开始下载传输。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小齐哥博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值