while :; do OLD=$NEW; NEW=`cat /proc/net/dev | grep eth0 | tr -s ' ' | cut -d' ' -f "3 11"`; echo $NEW $OLD | awk '{printf("\rin: % 9.2g\t\tout: % 9.2g", ($1-$3)/1024, ($2-$4)/1024)}'; sleep 1; done


Данная команда позволяет посмотреть скорость приема и передачи данных по сетевому интерфейсу eth0 в кб/сек.

Объяснение команды:
while :; do ... done: создает бесконечный цикл, в котором выполняется команда, описанная между do и done
OLD=$NEW;: сохраняет предыдущее значение скорости в переменную OLD
NEW=\cat /proc/net/dev | grep eth0 | tr -s ‘ ‘ | cut -d’ ‘ -f «3 11″\;: выводит информацию о сетевом интерфейсе eth0, обрабатывает ее tr и cut, и сохраняет полученное значение в переменную NEW
echo $NEW $OLD | awk '{printf("\rin: % 9.2g\t\tout: % 9.2g", ($1-$3)/1024, ($2-$4)/1024)}';: выводит текущую скорость приема и передачи данных по интерфейсу eth0, используя значения в переменных NEW и OLD, и использует awk для расчета и форматирования скоростей в кб/сек
sleep 1;: приостанавливает выполнение команды на 1 секунду.

Альтернативный способ узнать скорость интерфейса может быть использование команды iftop. Эта утилита позволяет мониторить трафик на сетевом интерфейсе в реальном времени и выводить его в удобочитаемом формате.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *