Linux下用nc命令远程复制文件(nc+tar传输卡住不终止的问题)
nc传输方法
接收端(先敲命令):nc -l -p 4444 | tar -xzvf -
发送端(后敲命令):tar -czv - * | nc 0.0.0.0 4444 -q1
之前使用16.04版本的Ubuntu不加这个参数没有问题,但是最近更新了20.04后,就出现了传输一直无法终止的问题。查看文件传输过程发现是卡在最后的一点数据上,目测是新版本加入了缓冲区机制导致的,具体未求证。
解决方案就是加入端口关闭参数,-q1表示在发送EOF后1s断开连接。
nc在传输小文件多的场景,比scp要快很多。但是使用起来比scp麻烦一些,在发送和接收机器上都需要敲命令。