socat 的使用 ============ .. versionadded:: @2010-08-17 创建 今天研究怎样在 Linux Host 上访问虚拟机中的串口,搜到一个工具 socat 非常强大, 推荐一下。对我的原始需求,可以如下处理,假设虚拟机中的串口设备为有名 管道 /tmp/serial,用如下命令可以实现对串口的访问: :: # socat /tmp/serial tcp-listen:9000 & # telnet localhost 9001 socat 可以在任意的两个(广义的)管道(socket,标准输入输出流,管道等)之间 建立一个通道,在该通道中交换两端的数据。上面的例子就建立了一个在管道和 socket 之间的通道。用过 nc 的都知道,nc 传文件时无法知道文件什么时候传完了,用 socat 可 以用如下命令: :: ip1 # socat -u open:a.txt tcp-listen:9000 ip2 # socat -u tcp:ip1:9000 open:a.txt,create 文件传输完成后连接自动关闭。以后可以用 socat 取代 nc 了。 更多的用法可以参考 :manpage:`socat(1)` 的手册。