有时候两台机器间临时需要传输一些简单的文本,比如网页地址,指令之类的,专门找一个网内聊天软件太麻烦,简单的方法是使用命令行工具,下面是可选的工具。
利用write或者wall命令
Linux的内部指令,无需安装,但Windows上没法用。
write适用于多次双向交互(两个人之间聊天的交互方式),格式:write
wall是向所有tty广播,例如主机A要向B和C发送消息,需要B和C登录到A上(SSH),然后在A上运行wall,可以加回车写多行文本,写完后输入Ctrl+D,整段文本就被广播到了B和C在A的tty上,可以通过管道向wall输送指令,例如"cat file_name|wall"将文件内容广播给其他终端,或者"df|wall"将磁盘情况广播给其他终端。
wall和write的主要区别是wall是单向的,write是双向的。
利用netcat指令
netcat需要安装,Ubuntu上比较简单:apt-get install netcat,Windows上复杂些,需要下载nc111nt.zip这个文件,下载后报有病毒,但好像是误报。
netcat的信息传输是Server-Client方式,启动Server的方法是"nc -l server_port",server_port可以是任意没被占用的端口,例如nc -l 3456,启动Client的方法是"nc server_ip server_port"(例如nc 10.31.2.34 3456),之后不论哪一方输入文本回车后都会被发送到对端,可以先由发送端发送报文,再启动接收端。
要传多行文本(比如一个文本文件),可以用下面的方法:
发送端:cat some.txt|nc -l 3333
接收端:nc 10.21.3.31 3333 > some.txt
可以在Executor里定义一个任务,命令是"d:\Apps\ConEmu\ConEmu.exe",参数是"d:\Apps\netcat\nc.exe",启动nc之后再输入目标的ip地址和端口号。