總是會遇到在服務器與本地電腦之間上下傳輸文件的場景,那這個時候我們該怎麼做呢?
基礎版
利用httpfileserver進行傳輸
首先,在服務器上執行命令: jumbo install python-httpfileserver ,安裝httpfileserver(前提是能使用 jumbo, jumbo的安裝方法:http://jumbo.baidu.com/)
然後,在服務器要上傳下載的目錄裏面執行命令:httpfileserver
接着,在本地用瀏覽器登錄就可以上傳下載了。登錄地址是——>機器地址:端口。例如:http://test.test.com:8001
進階版
httpfileserver雖好,但是還是不太方便,得用機器地址和端口號,又記不住。這個時候,就使用命令rz、sz進行傳輸吧,方便到爆炸!
step1:安裝一個支持rz、sz命令的終端。mac一般就用iterm2,具體安裝方法百度即可
step2:安裝Homebrew,具體安裝方法百度即可
step3:安裝lrzsz。使用命令:brew install lrzsz
step4:安裝wget。使用命令:brew install wget
step5:下載執行腳本並修改腳本權限。使用命令如下:
cd /usr/local/bin
wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-send-zmodem.sh
wget https://raw.github.com/mmastrac/iterm2-zmodem/master/iterm2-recv-zmodem.sh
chmod 777 /usr/local/bin/iterm2-*
此處需注意:
1、如果命令需要權限,嘗試在命令前面加上sudo
2、如果此下載地址失效,可以手動下載
1)進入源碼網站
2)下載zip包
3)解壓之後,將這兩個文件移到/usr/local/bin/目錄下:mv iterm2-* /usr/local/bin/
step6:修改iterm2的Preference → Profiles → Advanced → Triggers → Edit,添加如下內容
具體內容如下:
Regular expression:rz waiting to receive.\*\*B0100
Action:Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-send-zmodem.sh
Regular expression:\*\*B00000000000000
Action: Run Silent Coprocess
Parameters:/usr/local/bin/iterm2-recv-zmodem.sh
至此,就可以正常使用rz、sz了:
rz — 上傳文件:
在服務器上,使用命令 rz,此時就會彈出本地窗口,選擇本地文件之後,就會自動上傳到服務器當前目錄裏
sz filename — 下載文件:
在服務器上,使用命令 sz filename ,此時會彈出本地窗口,選擇某一路徑後,就會自動下載文件到所選擇的目錄裏
注意:
1、sz、rz只適合小文件噢!!
2、在哪個profile配置的,用哪個profile窗口才會生效。比如說配置了多個profile,也就是快捷登錄方式,如果相應的profile沒有配置Triggers,那命令是不會生效的
python版
在服務器A上安裝python,我用的是python3
# 用python起一個後端服務(sampleHttp)
python3 -m http.server 8888
# 然後去另外一個服務器B,執行wget命令
wget http://機器A的IP:機器A啓用的端口號/zhidaonmq.tar.gz .