如何防止“iptools ss”在标准输出上软包装长行?

如何防止“iptools ss”在标准输出上软包装长行?

我很习惯 的输出netstat -taulpen,虽然我不知道所有标志具体起什么作用,但它提供了一个很好读的网络程序表,当以 sudo 身份运行时可以显示所有进程名称以及它们监听的地址和套接字等。

ss我接近的是:

$ ss -tlnp

  -n, --numeric    don't resolve service names
  -l, --listening  display listening sockets
  -p, --processes  show process using socket
  -t, --tcp        display only TCP sockets

你可以想象这会产生如下输出:我已手动将终端输出中的各行换行:

State      Recv-Q Send-Q                                  Local Address:Port                                    Peer Address:Port 
LISTEN     0      50                                                  *:139                                                *:*      
users:(("smbd",874,33))
LISTEN     0      5                                           127.0.1.1:53                                                 *:*      
users:(("dnsmasq",1528,5))
LISTEN     0      128                                         127.0.0.1:631                                                *:*      
users:(("cupsd",782,11))

所以我的问题是我的终端仿真器中有很多空间,但是 ss 非常坚定地将前几列换行到 100% 宽度,而其余列会脱落并换行,即使 xxd 中没有显示文字换行符。

答案1

1)通过管道传输一个剥离 tty 宽度上下文的程序,例如cat

$ ss -tlnp | less
$ ss -tlnp | cat
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN     0      50                        *:139                      *:*      users:(("smbd",874,33))
LISTEN     0      5                 127.0.1.1:53                       *:*      users:(("dnsmasq",1528,5))
LISTEN     0      128               127.0.0.1:631                      *:*      users:(("cupsd",782,11))

2)说谎关于你的 tty 宽度stty

我不认为这是一个解决方案,因为它涉及手动修改环境以在程序上下文中实现效果。

但这确实有效,我想我永远不会费心去使用它:

# Tell the environment this terminal is only 80 chars wide
# (or however slim you need to view the overflow)
$ stty cols 80

$ ss -tlnp
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port 
LISTEN     0      50                        *:139                      *:*      users:(("smbd",874,33))
LISTEN     0      5                 127.0.1.1:53                       *:*      users:(("dnsmasq",1528,5))
LISTEN     0      128               127.0.0.1:631                      *:*      users:(("cupsd",782,11))

相关内容