在windows中,我們可以在360等管家軟體中顯示網速,在linux下想要檢視實時的網速怎麼辦呢?當然在linux下也有很多
思路:
在執行ifconfig檢視網絡卡資訊的時候,可以看到以下內容:
$ ifconfigwlp2s0
wlp2s0: flags=4163
mtu 1500
inet
192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::a67b:d8cd:4fab:56bb prefixlen
64 scopeid 0x20
ether b8:ee:
65:1f:a0:d7 txqueuelen 1000
(乙太網)
rx packets
172968 bytes 211898232 (211.8
mb) rx errors
0 dropped 0 overruns 0 frame 0
tx packets
125730 bytes 13891021 (13.8
mb) tx errors
0 dropped 0 overruns 0 carrier 0 collisions 0
rx:接收的
tx:上傳的
版本一:
#!/bin/bash# version 1 2017-08-14
while
true
do#記錄初始bytes數目
down_speed_old=`ifconfig wlp2s0 | sed -n '
s/rx.*bytes \([0-9]\+\).*/\1/p'`
up_speed_old=`ifconfig wlp2s0 | sed -n '
s/tx.*bytes \([0-9]\+\).*/\1/p'`
sleep
1#儲存最新的bytes數目
down_speed_now=`ifconfig wlp2s0 | sed -n '
s/rx.*bytes \([0-9]\+\).*/\1/p'`
up_speed_now=`ifconfig wlp2s0 | sed -n '
s/tx.*bytes \([0-9]\+\).*/\1/p'`
#計算下行與上行的網速
down_speed=`echo
"($down_speed_now-$down_speed_old)/1024
"|bc`
up_speed=`echo
"($up_speed_now-$up_speed_old)/1024
"|bc`
echo -e "
speed : \n\tdn : $[(($down_speed_now-$down_speed_old))] b/s \t $down_speed kb/s
"echo -e "
\tup : $[(($up_speed_now-$up_speed_old))] b/s \t $up_speed kb/s
"done
執行效果:
$ ./netspeed.shspeed :
dn :
81894 b/s 79 kb/s
up :
13425 b/s 13 kb/s
speed :
dn :
2209563 b/s 2157 kb/s
up :
184518 b/s 180 kb/s
speed :
dn :
580299 b/s 566 kb/s
up :
49619 b/s 48 kb/s
speed :
dn :
472 b/s 0 kb/s
up :
164 b/s 0 kb/s
speed :
dn :
432 b/s 0 kb/s
up :
594 b/s 0 kb/s
speed :
dn :
162 b/s 0 kb/s
up :
328 b/s 0 kb/s
todo:
版本二:
shell小指令碼
前言 可能這些指令碼看起來很簡單,很多人都不屑於去寫,但是一切複雜的東西都是由乙個個簡單的東西組合起來的。shell的語法比較怪異,和一般的程式語言有很大的區別,真的要多動手去寫才能學會的 1.要求 1.設定變數file的值為 etc passwd 2.依次向 etc passwd中的每個使用者問好...
shell小指令碼4
1 編寫指令碼selinux.sh,實現開啟或禁用selinux功能 selinux有三種模式 enforcing 強制模式。代表selinux在執行,且已經開始限制domain type之間的驗證關係 permissive 寬容模式。不會限制domain type之間的驗證關係,即使驗證不正確,程...
Linux 常用shell小指令碼
1.計算指令碼運算時間 bin bash st date y m d h m s 運算過程開始 sleep 2 運算過程結束 en date y m d h m s st c date d st s en c date d en s interval expr en c st c echo star...