linux上传下载文件

本地机器、跳板机和线上机器之间,文件互相传输,可以使用nc或者scp

nc文件传输:

1
2
3
4
5
6
#接受端监听
nc -l -p 8210 > demo.txt # 在本机8210端口侦听TCP连接,将收到的数据写入文本文件


#发送端发送
nc dest_ip 8210 < demo.txt # 向ip为dest_ip的机器的8210端口发送demo.txt文件

但是这个方式从跳板机到本机传输文件是有问题的,屡次传输文件都是空的,加上-v参数查看详细信息:

1
2
[sage.wang@machine ~]$ nc -v 100.80.181.74 9912 < SENSITIVITY_2018_08_full.txt
nc: connect to 100.80.181.74 port 9912 (tcp) failed: No route to host

显示的是No route to host,但是使用host命令查看是能找到的。到网上查了一下,应该是被防火墙iptables限制了,跳板机上也没权限修改防火墙配置,只能使用scp来传输了。

https://blog.argcv.com/articles/2840.c

https://unix.stackexchange.com/questions/353452/no-route-to-host-with-nc-but-can-ping

http://man.linuxde.net/iptables

本机执行scp,从跳板机上copy文件到本地

1
➜  ~ scp sage.wang@machine:/home/q/home/sage.wang/source.txt ~/dest.txt

语法:scp 用户名@目的主机:源文件路径 本机目的文件路径

如果是目录的话,加上-r参数

http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/scp.html

坚持原创技术分享,您的支持将鼓励我继续创作!
0%