Возможно ли получить текущие скорости загрузки на моем рабочем столе? Например, если бы я загрузил файл, сетевая карта сообщит о скорости загрузки файла - я видел, что это возможно в различных приложениях для Windows.
Я попытался использовать nload, но это непрерывная программа. Я ищу простую команду, которая выведет целое число, и все.
Если вы используете Ubuntu, эта команда будет распечатывать информацию, которая поможет вам вычислить скорость.
cat /proc/net/dev
Примерный вывод вышеуказанной командной строки примерно такой:
$ 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
Оттуда вы можете использовать grep или awk или cut или регулярное выражение для фильтрации только интерфейса, который вы хотите видеть (т. е. беспроводного интерфейса).
Например, если ваш беспроводной интерфейс eno1, с помощью этой командной строки будет распечатываться текущий прием / передача Кбайт в секунду:
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}')
Если вы используете Ubuntu, эта команда будет распечатывать информацию, которая поможет вам вычислить скорость.
cat /proc/net/dev
Примерный вывод вышеуказанной командной строки примерно такой:
$ 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
Оттуда вы можете использовать grep или awk или cut или регулярное выражение для фильтрации только интерфейса, который вы хотите видеть (т. е. беспроводного интерфейса).
Например, если ваш беспроводной интерфейс eno1, с помощью этой командной строки будет распечатываться текущий прием / передача Кбайт в секунду:
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}')