如何将iTerm2默认下载协议从scp改为rsync?
解决方案:替换iTerm2的scp调用为rsync
由于iTerm2本身未提供直接修改默认下载协议的选项,我们可以通过创建scp包装脚本的方式,让iTerm2在执行CMD+Click下载时自动使用rsync:
- 创建自定义scp脚本
先检查~/bin目录是否存在,不存在则执行mkdir ~/bin创建。在该目录下创建名为scp的文件,写入以下内容:
#!/bin/bash # 将scp调用转发为rsync命令,适配iTerm2的CMD+Click下载 rsync -avP "$@"- 创建自定义scp脚本
- 赋予脚本执行权限
打开终端执行:
chmod +x ~/bin/scp- 赋予脚本执行权限
- 确保脚本路径优先于系统scp
编辑你的shell配置文件(如~/.zshrc或~/.bashrc),添加以下行:
export PATH="$HOME/bin:$PATH"执行
source ~/.zshrc(或对应配置文件)使设置立即生效。- 确保脚本路径优先于系统scp
验证
完成设置后,在iTerm2中通过SSH连接服务器,CMD+Click任意文件路径,iTerm2会自动调用rsync将文件下载到~/Downloads目录,无需手动输入冗长命令。
补充说明
这个包装脚本兼容所有scp调用场景,无论是iTerm2的CMD+Click还是手动执行scp命令,都会自动转用rsync的-avP参数(归档模式、显示详细信息、保留权限、断点续传),完全匹配你需要的功能。
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

