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


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.