linux top p 乱码,将Linux top命令输入到指定文件时的乱码问题

根据需求,项目需要读取linux系统环境参数,所以需要将top命令的输出结果输入到文件中。用重定向命令如下:top > result.txt 。用vi打开文件: vi result.txt 。显示的结果却是这样的,看图更方便:

0818b9ca8b590ca3270a3433284dd417.png

于是分析出一下几个原因:

1.其他命令是否出现相同问题?

2.是否是文件编码格式问题导致?

3.是否是系统平台问题导致?

下面一个一个测试:

1.测试命令:ls > testls.txt

结果如图:

0818b9ca8b590ca3270a3433284dd417.png

测试命令:ps -ef > testps.txt

结果如图:

0818b9ca8b590ca3270a3433284dd417.png

可以得出结论,其他命令没有出现这样的情况,排除原因1.

2.看看result.txt文件的编码格式

vi result.txt进入文件输入: ":set fileencoding" 后按回车显示utf-8,如下图:

0818b9ca8b590ca3270a3433284dd417.png

于是也可以排除不是文件编码的问题;排除原因2;

3.将 result.txt 文件拿到windows系统中打开,显示如下图:

0818b9ca8b590ca3270a3433284dd417.png

也出现了乱码情况,所以也不是系统平台的原因。。。这下原因3也排除了。

这下该怎么办呢???

最后能想到的只有命令本身了,因为其他命令没有出现这种情况,所以会想到在top命令的参数中会有蹊跷。

可以发现,在想要输出内容到文件中则需要使用批处理模式。详细介绍如下:

-b 批处理模式操作

开启top工作在批处理模式,这样在需要将top的输出信息输出 到其他程序或文件时非常有用。在这种模式下,top不接受任何输入操作,直到通过-n 设置的重复次数后,或者退出top才终止。

在终端中输入top -b top将不断重复地显示任务信息,知道按Ctrl+C终止为止,在终端中输入top -b -n 10 ,top将显示10次后终止,也就是分10个批次显示完后就退出。

所以只需要在命令中指定为批处理模式问题就解决啦: top -b > result.txt 结果就不在展示了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值