Ami*_*mil 13 linux data-transfer netcat
有一个守护进程在侦听端口 5144,我无法修改。
我想使用 netcat 将文本文件的内容发送到服务器,但这会导致netcat
终端挂起,直到我按下Ctrl+ C:
cat file.txt | nc -u 127.0.0.1 5144
Run Code Online (Sandbox Code Playgroud)
我能够让它工作的唯一方法是nc -u 127.0.0.1 5144
手动运行和复制/粘贴文件的内容。
有任何想法吗?
另请注意:
cat file.txt | ...
导致bash: ...: command not found
我可以继续使用终端nc -u 127.0.0.1 5144 < file.txt
导致与 using | 相同的行为 以上如果您使用的是 GNU 版本的 netcat,那么您可以使用 -c 标志来关闭 EOF 上的连接。
-c, --close 从标准输入关闭 EOF 上的连接
如果您使用的是该工具的原始版本,则可以使用 -q 标志。
-q secs 在标准输入 EOF 后退出并延迟 secs
原始版本的一个例子是:
cat file.txt | nc -u -q 0 127.0.0.1 5144
Run Code Online (Sandbox Code Playgroud)
我已将“-q 0”添加到您的原始命令中。这将在文件发送后关闭连接。