我有一些应用程序,标准的Unix工具将它们的输出发送到Solaris中的命名管道,但命名管道只能从本地存储中读取(在Solaris上),因此我无法通过网络访问它们或放置管道在NFS存储上,用于对其输出进行联网访问.
这让我想知道是否有类似的方法将命令行工具的输出直接转发到套接字,例如:
mksocket mysocket:12345 vmstat 1 > mysocket 2>&1
Todd Gamblin.. 24
Netcat非常适合这个.这是一个包含一些常见示例的页面.
您案例的用法可能如下所示:
服务器侦听连接,然后向其发送输出:
server$ my_script | nc -l 7777
远程客户端连接到server
端口7777,接收数据,保存到日志文件:
client$ nc server 7777 >> /var/log/archive
Brian Campbe.. 15
netcat
(也称为nc
)正是您正在寻找的.它已经变得合理标准,但并非在所有系统上都可用.
socat
似乎是netcat的增强版本,具有更多功能,但不太常用.
在Linux上,您也可以使用/dev/tcp/
.有关详细信息,请参阅Advanced Bash-Scripting Guide.
Netcat非常适合这个.这是一个包含一些常见示例的页面.
您案例的用法可能如下所示:
服务器侦听连接,然后向其发送输出:
server$ my_script | nc -l 7777
远程客户端连接到server
端口7777,接收数据,保存到日志文件:
client$ nc server 7777 >> /var/log/archive
netcat
(也称为nc
)正是您正在寻找的.它已经变得合理标准,但并非在所有系统上都可用.
socat
似乎是netcat的增强版本,具有更多功能,但不太常用.
在Linux上,您也可以使用/dev/tcp/
.有关详细信息,请参阅Advanced Bash-Scripting Guide.
netcat将帮助在网络上建立管道.