Se você estiver usando o Ubuntu, este comando imprimirá as informações para ajudá-lo a calcular a velocidade.
cat /proc/net/dev
Um exemplo de saída da linha de comando acima é algo assim:
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 1094736293 1076693 0 0 0 0 0 0 1094736293 1076693 0 0 0 0 0 0
eno1: 132120552758 616841563 0 0 0 0 0 1323233 376143801828 548682127 0 0 0 0 0 0
wlp2s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
A partir daí, você pode usar grep
ou awk
ou cut
ou expressão regular para filtrar apenas a interface que deseja ver (por exemplo, a interface sem fio).
Por exemplo, se sua interface sem fio for eno1, usar esta linha de comando imprimirá os Kbytes de recepção / transmissão atuais por segundo:
awk '{i++; recv[i]=$1; trans[i]=$2}; END{print (recv[2]-recv[1])/1000 "KBps " (trans[2]-trans[1])/1000 " KBps"}' <(cat /proc/net/dev | grep eno1 | awk -F' ' '{print $2 " " $10}'; sleep 1; cat /proc/net/dev | grep eno1 | awk -F' ' '{print $2 " " $10}')