/sys/class/net/интерфейс/statistics/tx_bytes
А обоъёмы входящего трафика находятся в файле по даресу:
/sys/class/net/интерфейс/statistics/rx_bytes
Вместо слова "интерфейс" необходимо поставить называние интересуемого интерфейса (например "eth0" или "enp3s0"). Это название можно найти в списке вывода команды ip a
.В файлах статистики траффика хранятся значения в байтах (не битах!). Само значение может немногое сказать о текущей ситуации, но если сделать несколько замеров подряд, то можно вычислить, сколько траффика проходит за одну секунду. Для подобных замеров исходящего трафика можно использовать следующий bash скрипт:
outFile='/sys/class/net/интерфейс/statistics/tx_bytes';
out1=`cat $outFile`;
sleep 10s;
out2=`cat $outFile`;
echo $((($out2-$out1)/10240));
Этот код можно записать в одну строку и выполнить в консоли. Будут сделано два замера значений с перерывом в 10 секунд. А затем результат будет разделён на 10, чтобы получить значение за секунду, и на 2014, чтобы получить килобайты.Аналогичные замеры можно сделать и для входящего трафика:
inFile='/sys/class/net/интерфейс/statistics/rx_bytes';
in1=`cat $inFile`;
sleep 10s;
in2=`cat $inFile`;
echo $((($in2-$in1)/10240));
Таким образом можно получить среднее количество килобайт в секунду.
Bash консоль в арифметических операциях выдаёт только целочисленный результаты. Если значение меньше единицы, то вернётся ноль. Поэтому если хотите измерять трафик системы в мегабайтах (т.е. делите количество байт на 1024*1024), то будете получить ноль при малых значениях трафика.