《在iTerm2中使用Zmodem實(shí)現(xiàn)快速傳輸文件》要點(diǎn):
本文介紹了在iTerm2中使用Zmodem實(shí)現(xiàn)快速傳輸文件,希望對您有用。如果有疑問,可以聯(lián)系我們。
很多時(shí)候我們需要在本機(jī)和遠(yuǎn)端服務(wù)器間進(jìn)行文件傳輸,通常都是使用 scp
命令進(jìn)行傳輸.今天我們就來講講另一種更簡單方便的方法:通過 Zmodem
在本地和遠(yuǎn)端服務(wù)器間快速傳輸文件.
Zmodem
是針對 modem
的一種支持錯(cuò)誤校驗(yàn)的文件傳輸協(xié)議.Zmodem
是 Ymodem
的改進(jìn)版,后者又是 Xmodem
的改進(jìn)版.Zmodem
不僅能傳輸更大的數(shù)據(jù),而且錯(cuò)誤率更小.
利用 Zmodem
協(xié)議,可以在 modem
上發(fā)送 512 字節(jié)的數(shù)據(jù)塊.Zmodem
包含一種名為檢查點(diǎn)重啟的特性,如果通信鏈接在數(shù)據(jù)傳輸過程中中斷,能從斷點(diǎn)處而不是從開始處恢復(fù)傳輸.
要讓 iTerm2
在遠(yuǎn)端服務(wù)器上支持通過 Zmodem
協(xié)議傳輸,需要分別在服務(wù)端和客戶端進(jìn)行相應(yīng)配置.網(wǎng)上大多數(shù)文檔都只提到客戶端部分.因?yàn)槭瞻l(fā)方都必須有支持 Zmodem
協(xié)議的工具,才能進(jìn)行正常收發(fā).下面我們就來看看是如何進(jìn)行配置的:
lrzsz
軟件包是 支持 Zmodem
協(xié)議的工具包. 其包含的 rz
、sz
命令是通過 ZModem
協(xié)議在遠(yuǎn)程服務(wù)器和終端機(jī)器間上傳下載文件的利器.
為了正確通過 sz
、rz
命令傳輸文件,服務(wù)端需要安裝 lrzsz
軟件包的.
$ apt-get install lrzsz
$ yum install lrzsz
安裝lrzsz
和服務(wù)器端一樣,客戶端同樣需要安裝 lrzsz
軟件包.這里通過 Homebrew
進(jìn)行 lrzsz
軟件包安裝,如果你還不會(huì)使用 Homebrew
,可參考 「macOS不可或缺的套件管理器——Homebrew」一文進(jìn)行了解.
$ brew install lrzsz
配置iTerm2
在全球最大同性交友網(wǎng)站 Github
上,已經(jīng)有人共享了一個(gè)叫「ZModem integration for iTerm 2」的項(xiàng)目.我們只需下載其相應(yīng)腳本,并進(jìn)行簡單配置就可以很容易的在 iTerm2
上實(shí)現(xiàn)對 Zmodem
的支持.
項(xiàng)目地址:https://github.com/mmastrac/iterm2-zmodem
$ git clone https://github.com/mmastrac/iterm2-zmodem.git $ cd iterm2-zmodem $ cp iterm2-recv-zmodem.sh iterm2-send-zmodem.sh ?/usr/local/bin/
打開 iTerm2
,點(diǎn)擊 Preferences
→ Profiles
選擇指定的 Profile
,這里選 Default
.然后繼續(xù)選擇 Advanced
→ Triggers
,并點(diǎn)擊 Edit
添加兩個(gè)觸發(fā)器.
按如下內(nèi)容添加兩個(gè)觸發(fā)器,首先增加 sz
指令的觸發(fā)器:
Regular expression: rz waiting to receive.\\*\\*B0100 Action: Run Silent Coprocess Parameters: /usr/local/bin/iterm2-send-zmodem.sh Instant: checked
其次增加 rz
指令的觸發(fā)器:
Regular expression: \\*\\*B00000000000000 Action: Run Silent Coprocess Parameters: /usr/local/bin/iterm2-recv-zmodem.sh Instant: checked
成功增加完成后的效果,類似下圖:
配置這兩個(gè)觸發(fā)器的作用就是讓 iTerm2
根據(jù)終端上顯示的字符通過指定的觸發(fā)器調(diào)用相應(yīng)的發(fā)送和接收腳本.
rz
命令sz filename1 filename2 … filenameN
命令上面詳細(xì)介紹了如何在 macOS
下通過 Zmodem
快速傳輸文件的方法,你可能會(huì)問沒有 macOS
的情況下如何破?其實(shí)在 Windows
下實(shí)現(xiàn)更加簡單,只需使用一個(gè)支持 Zmodem
的終端軟件就行了,這里推薦 XShell
.當(dāng)然服務(wù)端的 lrzsz
軟件包是必不可少的.
http://www.google.com
https://github.com/mmastrac/iterm2-zmodem
文章來自微信公眾號(hào):運(yùn)維之美
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/2192.html