1.首先为了演示应用程序输胡蚂拍出信息,这里我们选择tomcat的日志输出文件裤羡来演示,当然也可以选择您自己任意的应用程序。这里我们连接上linux服务器之后,cd命令切换到tomcat的logs目录
2.要想自动打印显示出程序输出信息,这里需要使用到tail命令,首先我们使用mantail命令查看下tail命令的帮助信息。tail命令是默认打印最后10行信息,从帮助信息中,可以看到-f跟随的意思,就是在有新的输出信息的...
3.输入tail-fcatalina.out,从打印信息中可以看出,默认输出了最后的10行信息,并且命令没有退出,等待新的信息输出,这个时候如果程序有新的输出,会自物启动打印出来
4.tail命令默认一开始是显示之前的10行,如果不够的话,可以指定,这里可以输入tail-40fcatalina.out
在Linux下的开发中,printf打印调试信息默认输出到标准输出 stdout (即屏幕/终端)中。我们也可以使用输出重定向技术输出到指定文件中,输出重定向即是把原本要输出到屏幕的信息写入到指定文件中。但是有时候既要实时查看打印调试信息,又要把这些调试信息保存下来发给他人分析。
下面分享能达到这个需求的两种方法:
1、使用script工具
script工具是一个非常使用的工具,可以把输出到终端的信息记录下来。使用方法如:
(1)输入 script log.txt命令开始保存终端输出的信息迹衡备 ,其中log.txt为需要写入的log文件,可随意命名。
(2)输入exit退出保存。
演示如下:
之前我只知道有script 这样一个工具,而且经常在Ubuntu上使用。奈何开发板里的系统没这个工具,所以很长的一段时间我都是等程序跑完后我手动从终端拷贝全部信息到文本中保存。。。姿毁
刚开始程序跑得不久,日志信息还不是很多,还可以接受。后面程序跑久了,日志信息越来越多,再这么手动拷贝实在受不了。
所以找了另外的方法:使用tee工具。
2、使用tee工具
tee工具用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。
存在缓存机制,拦戚每1024个字节将输出一次。若从管道接收输入数据,应该是缓冲区满,才将数据转存到指定的文件中。若文件内容不到1024个字节,则接收完从标准输入设备读入的数据后,将刷新一次缓冲区,并转存数据到指定文件。
演示如下:
可见,使用tee工具输入到文本里的内容比script工具输入到文本里的内容还要干净,就是程序打印输出的东西。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)