将 `nload` 输出放入文件中

将 `nload` 输出放入文件中

我想将网络总使用情况的简单报告生成为文本文件(总使用的流量量)。我搜索了一下,找到了nload软件,但是当我在终端中输入此命令时:

nload > x.txt

命令行卡住了,直到我按下 ^C 才结束。我知道这是因为 nload 会随时更新,

但是有没有什么方法可以仅获取 nload 的第一个输出并将其放入文件中?

答案1

nload是一个交互式控制台程序,遗憾的是,它不能在第一次迭代中轻松获取当前状态的快照(就像命令一样top,它有-bn 1选项可以这样做)。我们可以像这样自动等待并在 5 秒后停止:

nload > nload.log 2>&1 & (sleep 5 ; killall nload)

但在这种情况下将包括用于在控制台中定位数据的nload.logANSI 代码,从而阻碍文件数据的简单可视化,而无需对文件中不需要的字符进行大量清理。nload

其他类似的可视化传输速率工具iftop具有-t(文本输出模式)选项,可以将制表数据发送到没有控制代码的标准输出通道,因此可以这样调用:

iftop -nNbp > iftop.log 2>&1 & (sleep 5; killall iftop)

cat iftop.log这些信息(在指定的 5 秒间隔内多次迭代)可以用或命令读取less iftop.log。选项-nNbp禁用名称/端口解析和条形图,并启用混杂模式 - 检查man iftop

当然,还有其他工具可能更适合分析网络使用行为,即sysstat(如所示巴勃罗·比安奇的问题中的评论)。

另一方面,一些终端程序可以通过简单地用鼠标选择控制台文本来捕获它。之后,您可以打开文本编辑器,粘贴复制的文本并保存,这样就可以在文件中获取报告,而无需不可见的定位数据控制代码。

相关内容