উত্তর:
অদ্ভুতভাবে সহজ উপায়টি দেখে মনে হচ্ছে /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)
আউটপুট দুটি সংখ্যা। প্রতি সেকেন্ডে বাইট প্রাপ্ত এবং তারপরে সেকেন্ডে প্রেরিত বাইট প্রাপ্ত।
অলির দুর্দান্ত সমাধানের জন্য এখানে একটি পার্থক্য রয়েছে:
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)
এটি অলির পদ্ধতির মতো একই ফলাফল মুদ্রণ করবে:
$ 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
wlp1s0পরিবর্তে আমাকে ব্যবহার করতে হয়েছিল wlan0। আমি উত্তরটি সম্পাদনা করব না কারণ আমি জানি এটি ডিসট্রোর উপর নির্ভর করে।