shell 如何让nginx在linux上运行确切的端口

zzzyeukh  于 2023-01-26  发布在  Shell
关注(0)|答案(2)|浏览(136)

如果我执行下面的注解,结果将如下所示80600.0.0.0

网络统计-自动启动|格勒普·Nginx|awk“{打印$4“\t”$5 }“|剪切-d“:“-f2

但我希望结果是这样的8060

watbbzwu

watbbzwu1#

不确定命令的原始响应是什么,但再次剪切响应是一种方法

netstat -antup | grep nginx |awk '{print $4 "\t" $5 }' | cut -d ":" -f2 | cut -d " " -f1
w8ntj3qf

w8ntj3qf2#

netstat -antup将解析您提供的命令,打印以下信息:

$ netstat -antup
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8060         0.0.0.0:*               LISTEN      XYZ/nginx
...

您只想要“8060”,这是端口,nginx正在侦听。
下一个部分很好。grep nginx |awk '{print $4}'给你相应的本地地址。你不需要"\t" $5部分,因为外国地址在这里不相关。
中间结果应如下所示:

$ netstat -antup | grep nginx | awk '{print $4}'
127.0.0.1:8060

现在端口是“:“后面的最后一部分。请注意,IPv6地址也包含“:“。所以我建议删除最后一个而不是第二个。您可以通过恢复输出来做到这一点,删除第一位并再次恢复:

$ netstat -antup | grep nginx | awk '{print $4}' | rev | cut -d":" -f1 | rev
8060

瞧,想要的输出

相关问题