터미널에서 현재 업로드 및 다운로드 속도를 얻는 방법은 무엇입니까?


10

터미널이 네트워크 연결의 현재 업로드 및 다운로드 속도를 출력하기를 원합니다. 속도를 실시간으로 모니터링하고 싶지 않습니다. "정적"값을 파일에 쓸 수 있기를 원합니다.

어떻게하면 되나요?

답변:


14

이상하게도 가장 쉬운 방법은보고있는 것 같습니다 /proc/net/dev. 나는 그 파일을 두 번 지연시키고 (두 번째 지연으로) 총 바이트 값을 빼기 위해 다음을 작성했습니다. 이 경우 em1네트워크 어댑터이므로 원하는 것으로 변경하십시오.

awk '/em1/ {i++; rx[i]=$2; tx[i]=$10}; END{print rx[2]-rx[1] " " tx[2]-tx[1]}' \
 <(cat /proc/net/dev; sleep 1; cat /proc/net/dev)

출력은 두 개의 숫자입니다. 초당받은 바이트 수 및 초당 보낸 바이트 수


3
우리는 거기에 갈. 그것을 하나의 awk 문으로 정리했습니다. 부티
— Oli

11

다음은 Oli의 우수한 솔루션에 대한 변형입니다.

awk '{if(l1){print $2-l1,$10-l2} else{l1=$2; l2=$10;}}' \
  <(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)

Oli의 접근 방식과 동일한 결과를 인쇄합니다.

$ awk '{if(l1){print $2-l1,$10-l2} else{l1=$2; l2=$10;}}' \
>   <(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)
401500 30286

첫 번째 값은 초당 바이트 수의 다운로드 속도이고 두 번째 값은 업로드 속도입니다. 다음을 통해보다 인간 친화적 인 형식을 얻을 수 있습니다.

$ awk '{if(l1){print ($2-l1)/1024"kB/s",($10-l2)/1024"kB/s"} else{l1=$2; l2=$10;}}' \
    <(grep wlan0 /proc/net/dev) <(sleep 1; grep wlan0 /proc/net/dev)
398.771kB/s 82.8066kB/s

참고 : Ubuntu 18.04에서는 wlp1s0대신 대신 사용해야 했습니다 wlan0. 나는 이것이 배포판에 달려 있다는 것을 알고 있기 때문에 대답을 편집하지 않을 것입니다.
— Daniel Serodio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.