mac 中 iTerm2 使用 rz、sz 上传下载文件详解,附 scp 操作指南

1. 引言

在日常开发中,我们经常需要通过终端与远程服务器之间传输文件。macOS 用户常用的终端工具是 iTerm2,而 rz、sz 是 Linux 服务器上非常经典的上传下载命令。本文将详细介绍如何在 mac 的 iTerm2 中使用 rz、sz 上传下载文件,并附上 scp 命令操作详解,帮助你高效完成文件传输。

2. 准备工作

在开始之前,需要确认以下环境是否就绪:

  • macOS 终端工具:推荐使用 iTerm2,可从官网下载安装。
  • 远程服务器:Linux 系统,已安装 lrzsz 工具包。
  • SSH 连接:确保可以正常通过 SSH 登录远程服务器。

3. 安装 lrzsz 工具

rz、sz 命令依赖服务器端的 lrzsz 工具包。以 CentOS 和 Ubuntu 为例,安装命令如下:

bash 复制代码
# CentOS / RHEL
yum install -y lrzsz
Ubuntu / Debian
apt-get install -y lrzsz

安装完成后,可以在服务器上执行以下命令验证:

bash 复制代码
which rz
which sz

如果输出对应的路径,说明安装成功。

4. iTerm2 配置 rz、sz 支持

iTerm2 默认不支持 rz、sz 的弹窗交互,需要借助触发器(Trigger)来实现。具体配置步骤如下:

4.1 下载脚本

首先需要下载两个辅助脚本,用于处理 rz、sz 的文件传输交互。推荐使用以下开源脚本:

bash 复制代码
# 创建本地脚本目录
mkdir -p ~/.iterm2
下载 iterm2-zmodem 脚本
cd ~/.iterm2
curl -O https://raw.githubusercontent.com/aikuyun/iterm2-zmodem/master/iterm2-zmodem.sh
chmod +x iterm2-zmodem.sh

4.2 配置触发器

打开 iTerm2 的偏好设置,按以下步骤操作:

  1. 打开 Preferences (快捷键 Command + ,)。
  2. 进入 Profiles 标签页,选择当前使用的 Profile。
  3. 点击 Advanced 选项卡,找到 Triggers 区域。
  4. 点击 Edit 按钮,添加两条触发器规则。

第一条规则用于捕获 rz 请求:

  • Regular Expression :\*\*B0100
  • Action :Run Silent Coprocess...
  • Parameters :~/.iterm2/iterm2-zmodem.sh

第二条规则用于捕获 sz 请求:

  • Regular Expression :\*\*B00000000000000
  • Action :Run Silent Coprocess...
  • Parameters :~/.iterm2/iterm2-zmodem.sh

配置完成后,点击 OK 保存即可。

5. 使用 rz 上传文件

rz 命令用于从本地 mac 上传文件到远程服务器。操作步骤如下:

5.1 进入目标目录

首先在服务器上进入希望存放文件的目标目录:

bash 复制代码
cd /data/uploads

5.2 执行 rz 命令

在终端输入 rz 并回车:

bash 复制代码
rz

此时 iTerm2 会弹出系统文件选择窗口,选择本地需要上传的文件,点击确定即可开始上传。上传完成后,终端会显示传输结果。

6. 使用 sz 下载文件

sz 命令用于从远程服务器下载文件到本地 mac。操作步骤如下:

6.1 执行 sz 命令

在服务器上输入 sz 并指定要下载的文件路径:

bash 复制代码
sz /data/logs/app.log

执行后,iTerm2 会弹出本地保存目录选择窗口,选择保存位置后点击确定即可开始下载。

6.2 下载多个文件

sz 支持一次下载多个文件,只需在命令后列出多个路径:

bash 复制代码
sz /data/logs/app.log /data/logs/error.log

7. scp 命令详解

scp(Secure Copy)是基于 SSH 的安全文件传输命令,无需在服务器上额外安装工具,使用更加通用。下面介绍 scp 的常用操作。

7.1 从本地上传到服务器

基本语法:

bash 复制代码
scp 本地文件路径 用户名@服务器IP:远程目标路径

示例:

bash 复制代码
scp ~/Desktop/report.pdf root@192.168.1.100:/data/uploads/

执行后会提示输入密码,输入正确密码即可开始上传。

7.2 从服务器下载到本地

基本语法:

bash 复制代码
scp 用户名@服务器IP:远程文件路径 本地目标路径

示例:

bash 复制代码
scp root@192.168.1.100:/data/logs/app.log ~/Desktop/

7.3 上传整个目录

使用 -r 参数可以递归复制整个目录:

bash 复制代码
scp -r ~/project root@192.168.1.100:/data/

7.4 指定端口

如果 SSH 端口不是默认的 22,需要使用 -P 参数指定端口:

bash 复制代码
scp -P 2222 ~/Desktop/report.pdf root@192.168.1.100:/data/uploads/

7.5 保留文件属性

使用 -p 参数可以保留文件的修改时间、访问时间和权限:

bash 复制代码
scp -p ~/Desktop/report.pdf root@192.168.1.100:/data/uploads/

8. rz、sz 与 scp 的对比

对比项 rz / sz scp
依赖工具 服务器需安装 lrzsz 无需额外安装
交互体验 弹出文件选择窗口,操作直观 命令行指定路径,适合脚本化
传输目录 需先打包再传输 支持 -r 递归传输目录
断点续传 不支持 不支持
适用场景 少量文件、交互式操作 批量传输、自动化脚本

9. 常见问题与注意事项

9.1 rz、sz 命令找不到

如果执行 rz、sz 提示命令不存在,说明服务器未安装 lrzsz,请参考第 3 节安装。

9.2 弹窗未出现

如果执行 rz、sz 后 iTerm2 没有弹出文件选择窗口,请检查触发器配置是否正确,并确认脚本路径无误。

9.3 传输大文件建议

对于大文件传输,建议优先使用 scp 或 rsync,rz、sz 在传输大文件时速度较慢且不支持断点续传。

9.4 安全性提醒

rz、sz 和 scp 均基于 SSH 加密传输,但请务必保管好服务器密码,避免使用弱密码。

10. 总结

本文详细介绍了在 mac 的 iTerm2 中使用 rz、sz 上传下载文件的方法,包括 lrzsz 安装、iTerm2 触发器配置以及实际操作步骤。同时附上了 scp 命令的详细用法,涵盖上传、下载、目录传输、指定端口等常见场景。两种方式各有优势,rz、sz 交互直观,scp 更适合脚本化批量操作,你可以根据实际需求灵活选择。

相关推荐
宁波阿成1 小时前
CentOS 7.5 升级 PHP 至 8.3.36 完整实操记录
linux·centos·php
djjjx.1 小时前
Linux进程篇(七):环境变量的底层溯源、核心获取机制与安全应用
linux·运维·服务器
FriendshipT1 小时前
Vim 完整指南:从入门到高效编辑
linux·人工智能·编辑器·vim·1024程序员节
Zevalin爱灰灰1 小时前
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(一)
linux·嵌入式·1024程序员节
wuminyu1 小时前
JVM规范学习总结-Java源码经过javac编译后产物
java·linux·c语言·jvm·c++
java_nnnn1 小时前
Linux 学习第二篇:从零认识 Linux 文件系统、目录结构与基本命令
linux·运维·学习·1024程序员节
.道阻且长.2 小时前
Linux 基本开发工具:编辑器vim,配置vim
linux·运维·服务器·职场和发展·编辑器·vim·1024程序员节
全栈探索者2 小时前
模型去哪下、放哪里、怎么选:Mac 玩 ComfyUI 的模型管理全图景(附我的实盘清单)
人工智能·macos·aigc·stablediffusion·comfyui
江屿风2 小时前
【Linux-System】【System V共享内存:从原理到实战的完整解析】流食般投喂
linux·运维·服务器·笔记·系统架构·1024程序员节