通过nc远程拷贝文件
方法1,传输文件演示(先启动接收命令)
使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了
把A机器上的一个rpm文件发送到B机器上
需注意操作次序,receiver先侦听端口,sender向receiver所在机器的该端口发送数据。
步骤1,先在B机器上启动一个接收文件的监听,格式如下:
意思是把赖在9995端口接收到的数据都写到file文件里(这里文件名随意取)
B机器接收完毕,它会自动退出监听,文件大小和A机器一样,md5值也一样
1 | nc -l port >file |
步骤2,在A机器上往B机器的9995端口发送数据,把下面rpm包发送过去
1 | nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm |
方法2,传输文件演示(先启动发送命令)
步骤1,先在B机器上,启动发送文件命令
下面命令表示通过本地的9992端口发送test.mv文件
1 | nc -l 9992 <test.mv |
步骤2,A机器上连接B机器,取接收文件
下面命令表示通过连接B机器的9992端口接收文件,并把文件存到本目录下,文件名为test2.mv
1 | nc 10.0.1.162 9992 >test2.mv |
方法3,传输目录演示(方法发送文件类似)
步骤1,B机器先启动监听,如下
A机器给B机器发送多个文件
传输目录需要结合其它的命令,比如tar
经过我的测试管道后面最后必须是 - ,不能是其余自定义的文件名
1 | nc -l 9995 | tar xfvz - |
步骤2,A机器打包文件并连接B机器的端口
管道前面表示把当前目录的所有文件打包为 - ,然后使用nc发送给B机器
1 | tar cfz - * | nc 10.0.1.162 9995 |
B机器这边已经自动接收和解压