3

Я далеко привык к выводу 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% ширины, а оставшиеся столбцы падают и переносятся, хотя буквального перевода строки нет.

1 ответ1

4

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))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .