rz,sz命令傳輸文件,比使用scp要方便得多,特別是在圖形界面打開終端,SSH登陸到遠(yuǎn)程機(jī)器需要傳輸文件的時候。但是MacOS里Terminal.app并不支持Zmodel傳輸。好在iTerm2具備較強(qiáng)的擴(kuò)展性可以通過簡單的配置支持Zmodem傳輸。
Zmodem 是跨平臺的文件傳輸協(xié)議,可以很方便的在不同的操作系統(tǒng)之間接傳輸文件。lzrsz 是該協(xié)議的實(shí)現(xiàn)方式:https://ohse.de/uwe/software/lrzsz.html。安裝后,在 Mac 的 ITerm2 中用 SSH 登陸遠(yuǎn)程的 Linux 主機(jī),然后用 rz 、sz 命令傳輸文件。
1. 在本地Mac端安裝 lrzsz
先安裝brew,即軟件管理器,類似centOS的yum工具。
/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
另,如果需要卸載brew,可用如下命令。本次不需要卸載,僅做記錄備忘。
ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
安裝brew之后就可在 Mac 中安裝lrzsz:
brew install lrzsz
2. 下載腳本文件到本地Mac電腦里
從這里下載。復(fù)制到 /usr/local/bin/,并增加執(zhí)行權(quán)限。
$ gitclone https://github.com/mmastrac/iterm2-zmodem.git
$ cp iterm2-zmodem/iterm2-send-zmodem.sh /usr/local/bin/iterm2-send-zmodem.sh
$ cp iterm2-zmodem/iterm2-recv-zmodem.sh /usr/local/bin/iterm2-recv-zmodem.sh
$ chmod +x /usr/local/bin/iterm2-send-zmodem.sh
$ chmod +x /usr/local/bin/iterm2-recv-zmodem.sh
3. 配置 Mac電腦上的iTerm2軟件
iTerm2 -> Profiles -> Default ->Advanced -> Triggers -> edit
點(diǎn)擊圖中左下角所示『+』號,依次輸入下面兩行的內(nèi)容。
Regular expression:? *\*B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.shInstant: checked
Regular expression: \*\*B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.shInstant: checked

4. Linux服務(wù)器上面也要安裝lszrz軟件
我安裝到自己的bin目錄下,還分別將lrz和lsz做了軟連接。

5. 使用
發(fā)送文件:
登錄服務(wù)器
$ rz
在彈窗中從本地選擇文件
確定,等待
接收文件:
登錄服務(wù)器
$ sz filename1 filename2 ... filenameN
在彈窗中選擇接收的本地目錄
確定,等待
參考資料References:
http://www.itdecent.cn/p/775bd2c5b93d