我想将网络总使用情况的简单报告生成为文本文件(总使用的流量量)。我搜索了一下,找到了nload
软件,但是当我在终端中输入此命令时:
nload > x.txt
命令行卡住了,直到我按下 ^C 才结束。我知道这是因为 nload 会随时更新,
但是有没有什么方法可以仅获取 nload 的第一个输出并将其放入文件中?
答案1
nload
是一个交互式控制台程序,遗憾的是,它不能在第一次迭代中轻松获取当前状态的快照(就像命令一样top
,它有-bn 1
选项可以这样做)。我们可以像这样自动等待并在 5 秒后停止:
nload > nload.log 2>&1 & (sleep 5 ; killall nload)
但在这种情况下将包括用于在控制台中定位数据的nload.log
ANSI 代码,从而阻碍文件数据的简单可视化,而无需对文件中不需要的字符进行大量清理。nload
其他类似的可视化传输速率工具iftop
具有-t
(文本输出模式)选项,可以将制表数据发送到没有控制代码的标准输出通道,因此可以这样调用:
iftop -nNbp > iftop.log 2>&1 & (sleep 5; killall iftop)
cat iftop.log
这些信息(在指定的 5 秒间隔内多次迭代)可以用或命令读取less iftop.log
。选项-nNbp
禁用名称/端口解析和条形图,并启用混杂模式 - 检查man iftop
。
当然,还有其他工具可能更适合分析网络使用行为,即sysstat
(如所示巴勃罗·比安奇的问题中的评论)。
另一方面,一些终端程序可以通过简单地用鼠标选择控制台文本来捕获它。之后,您可以打开文本编辑器,粘贴复制的文本并保存,这样就可以在文件中获取报告,而无需不可见的定位数据控制代码。