iTerm2与远程服务器进行文件上传、下载

一、介绍

在Windows下可以使用上传下载工具sz与rz,但是mac下一般都是通过scp命令来完成的,Mac其实也可以使用iTerm安装rz、sz进行上传下载。

二、SCP方式传输文件

2.1、上传文件

#scp 【本地文件路径】 【服务器用户名】@【服务器ip】:【服务器文件存放路径】
scp local_folder remote_username@remote_ip:remote_folder

#示例
scp /usr/123.txt root@192.168.31.200:/home
# 上传文件夹(加-r参数)
scp -r local_folder remote_username@remote_ip:remote_folder

2.2、下载文件

#scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r remote_username@remote_ip:remote_folder local_folder
  1. scp相关参数
  2. -v 详细显示输出,显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题
  3. -r 递归处理,递归复制整个目录
  4. -C 使能压缩选项
  5. -p 保留原文件的修改时间,访问时间和访问权限。
  6. -P port 选择传输端口
  7. -4 强行使用 IPV4 地址
  8. -6 强行使用 IPV6 地址

三、lrzsz方式传输文件

3.1、安装brew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

3.2、安装lrzsz

brew install lrzsz

3.3、下载iterm2-zmodem

访问github中iterm2-zmodem的仓库

iterm2-send-zmodem.shiterm2-recv-zmodem.sh下载下来,拷贝到/usr/local/bin文件夹。

  • 使用如下命令添加权限:

    chmod 777 /usr/local/bin/iterm2-*

3.4、Term2 配置添加rz sz功能

设置Iterm2的Tirgger特性,profiles->default->editProfiles->Advanced中的Tirgger

添加两条trigger,分别设置 Regular expression,Action,Parameters,Instant如下:

1.第一条
        Regular expression: rz waiting to receive.\*\*B0100
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-send-zmodem.sh
        Instant: checked
2.第二条
        Regular expression: \*\*B00000000000000
        Action: Run Silent Coprocess
        Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
        Instant: checked

如图

3.5、服务器安装lrzsz(重要)

  • CentOS安装方法

    yum -y install lrzsz

    注意:很多博客文章没有说需要安装这个部分,这个非常重要,上面只是把本机安装lrzsz,但是无法把文件传输到远程服务器,远端服务器也需要安装lrzsz!这个时候就可以使用rz sz功能从远程服务器上传、下载文件了!

四、rz 和 sz 的使用

很简单,直接输入rz(上传命令)、sz(下载命令)就可以使用了

  • 文件上传

    #登陆远程服务器,输入rz,就会弹出一个窗口,选择文件,就可以上传了,默认会上传到当前目录
    rz
  • 文件下载

    #登陆远程服务器,输入sz,选择需要下载的文件夹,回车,选择下载存放目录,等待下载完成
    sz filename1 filename2 … filenameN