nload
在实时监控带宽消耗时非常方便。它会显示一个正在进行的进程窗口,您可以查看它。虽然这对人类有用,但对脚本没有用。
我想以字符串形式获取特定网络接口的当前下载或上传,并立即完成。
像这样:nload devices en3
,但没有正在进行的过程。这可能吗?
答案1
ifstat
在一个易于解析的列表中打印传入和传出流量:
ifstat [-i device] [delay] [count]
您可能需要安装它,大多数软件包系统都提供了它,例如apt-get install ifstat
或yum install ifstat
类似的,具体取决于您的系统。
输出是这样的:
$ ifstat -i en3
en3
KB/s in KB/s out
0.25 0.00
0.72 1.06
0.45 0.07
...
要解析它,您可以使用例如awk
:
$ ifstat -i en3 1s 1 | awk 'NR==3 {print $1}'
47.17
上传将是$2
.
默认情况下,单位为千字节/秒。