总是会遇到在服务器与本地电脑之间上下传输文件的场景,那这个时候我们该怎么做呢?
基础版
利用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 .