nc+tar传输卡住不终止的问题

先解决问题:加参数-q1,例如:
tar -czv * | nc ip 3000 -q1

之前使用16.04版本的Ubuntu不加这个参数没有问题,但是最近更新了20.04后,就出现了传输一直无法终止的问题。查看文件传输过程发现是卡在最后的一点数据上,目测是新版本加入了缓冲区机制导致的,具体未求证,有兴趣欢迎研究、交流。

解决方案就是加入端口关闭参数,-q1表示在发送EOF后1s断开连接。

:nc传输方法
接收端(先敲命令):
nc -l 1024 | tar -xzv
发送端(后敲命令)
tar -czv * | nc 0.0.0.0 1024 -q1

其中1024为端口号,0.0.0.0为ip地址,自行修改。另外,实验了发送端先敲命令,接收端后敲命令,加上-q参数仍然无法结束,尚不清楚原因,有兴趣欢迎研究,命令如下:
发送端(先敲命令):
tar -cvz * | nc -l -p 1024
接收端(后敲命令)
nc 0.0.0.0 1024 -q1 | tar -xzv

nc在传输小文件多的场景,比scp要快很多。但是使用起来比scp麻烦一些,在发送和接收机器上都需要敲命令。

欢迎关注

人工智能技术分析
人工智能 机器学习 深度学习
AI人工智能三要素:数据、算力和算法
计算机视觉(CV)任务介绍:分类、检测、分割、超分、关键点识别、图像生成、度量学习
关于我
缘起:新的开始

公众号持续更新原创内容,欢迎订阅。

AI人工智能与大数据
Alt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值