option ss
과 함께 사용하면 열이 특정 줄 아래로 이동합니다. 예를 들어 이것이 실제로보고있는 것입니다.-p
user/pid/fd
# ss -nulp4
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:20000 *:*
users:(("perl",pid=9316,fd=6))
UNCONN 0 0 *:10000 *:*
users:(("perl",pid=9277,fd=6))
UNCONN 0 0 192.168.100.10:53 *:*
users:(("named",pid=95,fd=517),("named",pid=95,fd=516))
UNCONN 0 0 127.0.0.1:53 *:*
users:(("named",pid=95,fd=515),("named",pid=95,fd=514))
선호하는 출력 형식 :
# ss -nulp4
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 *:20000 *:* users:(("perl",pid=9316,fd=6))
UNCONN 0 0 *:10000 *:* users:(("perl",pid=9277,fd=6))
UNCONN 0 0 192.168.100.10:53 *:* users:(("named",pid=95,fd=517),("named",pid=95,fd=516))
UNCONN 0 0 127.0.0.1:53 *:* users:(("named",pid=95,fd=515),("named",pid=95,fd=514))
줄 바꿈이 없음을 확인하기 위해 이것을 시도했습니다.
# ss -nulp4 | cat -A
State Recv-Q Send-Q Local Address:Port Peer Address:Port $
UNCONN 0 0 *:20000 *:* users:(("perl",pid=9316,fd=6))$
UNCONN 0 0 *:10000 *:* users:(("perl",pid=9277,fd=6))$
UNCONN 0 0 192.168.100.10:53 *:* users:(("named",pid=95,fd=517),("named",pid=95,fd=516))$
UNCONN 0 0 127.0.0.1:53 *:* users:(("named",pid=95,fd=515),("named",pid=95,fd=514))$
그리고 실제로는 아무것도 없다는 것을 알 수 있지만, 이상하게도 출력 형식은 내가 원했던 방식입니다. 누군가 여기서 무슨 일이 일어나고 있는지 설명해 주시겠습니까? 선호하는 형식을 어떻게 얻을 수 있습니까?
이 마이그레이션에서 저를 막는 유일한 일 netstat
에 ss
.
답변
왜 등등에 관해서
ss
Linux 커널에서 iproute2 유틸리티 콜렉션의 일부인 ioctl () 요청 을 사용하여 터미널의 현재 너비를 가져옵니다.
하나; 전체 너비는 «other» 필드에 사용되며 프로세스 필드는 다음 줄로 압착됩니다.
예를 들어 (on 터미널로 제한이있을 때) 이것을 볼 수 있습니다.
script ss.txt
ss -nlup4
exit
그런 다음 터미널 창을 넓히 십시오 cat ss.txt
.
그 이유 이유
ss -nulp4 | cat -A
«works» 는 유틸리티 가 tty에 쓰는지 여부를 인식하기 때문입니다 .
if (isatty(STDOUT_FILENO)) {
}
소스 코드의 이전 줄에서 볼 수 있듯이 기본 너비는 80으로 설정되어 있습니다. 따라서 터미널이 130 열이라고 말하면 다음과 같습니다.
ss -nulp4 | cat
출력이 tty가 아닌 파이프에 대한 것으로 인식하고 다른 필드는 80 열로 채워지고 프로세스 필드 는 80 열 뒤에 쓰여집니다. 그러나 터미널이 80 열 보다 넓고 프로세스 입력을위한 공간이 있으면 한 줄로 표시됩니다.
예를 들어 동일합니다.
ss -nulp4 > ss.txt
«내가 선호하는 형식을 달성 하는 방법 »에 대해 부적절한 방법 중 하나는 (터미널에 따라) 방향으로 무언가를 수행하는 것입니다.
stty cols 100
ss -nlup4
답변
다음 중 하나가 출력을 변경하는 데 도움이 될 수 있습니다.
ss -ltunp | column -t