টার্মিনালে বর্তমান আপলোড এবং ডাউনলোডের গতি কীভাবে পাবেন?


10

আমি চাই যে টার্মিনালটি আমার নেটওয়ার্ক সংযোগটির বর্তমান আপলোড এবং গতি ডাউনলোড করে। আমি বাস্তব সময়ে গতি নিরীক্ষণ করতে চাই না। আমি কেবল একটি "স্থিতিশীল" মানটি একটি ফাইলটিতে লিখতে সক্ষম হতে চাই।

আমি কীভাবে এটি অর্জন করব?

উত্তর:


14

অদ্ভুতভাবে সহজ উপায়টি দেখে মনে হচ্ছে /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)

আউটপুট দুটি সংখ্যা। প্রতি সেকেন্ডে বাইট প্রাপ্ত এবং তারপরে সেকেন্ডে প্রেরিত বাইট প্রাপ্ত।


3
আমরা শুরু করছি. এটি এক বিশ্রী বিবৃতিতে সিদ্ধ করা। Bootiful।
অলি

11

অলির দুর্দান্ত সমাধানের জন্য এখানে একটি পার্থক্য রয়েছে:

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

দ্রষ্টব্য: উবুন্টুতে 18.04 এর wlp1s0পরিবর্তে আমাকে ব্যবহার করতে হয়েছিল wlan0। আমি উত্তরটি সম্পাদনা করব না কারণ আমি জানি এটি ডিসট্রোর উপর নির্ভর করে।
ড্যানিয়েল সেরোদিও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.