Linux运维知识之Linux传输超大文件
小标 2019-01-03 来源 : 阅读 1957 评论 0

摘要:本文主要向大家介绍了Linux运维知识之Linux传输超大文件,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之Linux传输超大文件,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。


linux下的文件传输,大家首先会想到rsync、scp之类的工具,但这类工具有一个特点——慢,因为这类工具都是加密传输,发送端加密,接收端解密,当我们传输一些非敏感文件的时候,完全可以不加密,直接在网络上传输。

直接上实例,传输一个2077M的ISO文件。


nc发送接收数据


接收端:


nc -l 45.55.0.86 9999 > jieshou.iso


➤ -l :监听一个端口来接收数据

➤ -u : 不使用 TCP 而是使用 UDP 来进行数据连接(应该速度更快,没试)

整条命令的意思:本地开启9999端口来接收数据,把接收到的数据存到“jieshou.iso”文件里面。


发送端:


time nc  45.55.0.86 9999 < CentOS-6.9-x86_64-bin-DVD2.iso


命令最前面的time是用来检测该命令运行耗时的。



24秒就在公网上传完了一个2077M的文件,平均速度高达87M/s,传输完毕后在两端校验MD5,发现文件完全一致。

用nc传输有两个特点:

➤速度快

➤传输简单,不需要登录对方服务器,不需要验证信息。


nc进度显示


若你文件实在太大,想看到传输进度,用PV


yum install epel-release -y
yum install pv -y
cat CentOS-6.9-x86_64-bin-DVD2.iso |pv -b | nc  45.55.0.86 9999


传输目录


接收端:


nc -l 45.55.0.86 9999 | pv -b > home.tar.gz


发送端:


tar -czf - /home/ | nc  45.55.0.86 9999


中转文件


A、B、C三台主机,A美国,C昌南,C只能访问到B,不能直接访问A,B和AC互通。C要怎么才能拿到A上的文件呢?

C上执行:


nc -l 9999 > google_file.txt


B上执行:


nc -l 9999 | nc (C的外网IP) 9999


A上执行:


nc (B的外网IP) 9999 < google_file.txt


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程