linux下如何将,控制台输出的所有内容,全部输出到一个文本文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下如何将,控制台输出的所有内容,全部输出到一个文本文件相关的知识,希望对你有一定的参考价值。

直接使用输出重定向到你想要的文件即可,不过将所有的控制到信息输出到一个文本文件,只有两个办法:
①:修改所有程序的输出路径:printf函数 echo.....几乎是不可能完成的任务
②:修改linux的标准输出路径:

句柄 句柄的数字代号 描述
STDIN 0 键盘输入
STDOUT 1 输出到命令提示符窗口
STDERR 2 错误输出到命令提示符窗口

将标准输出 标准输出的默认设置更改为你要保存的文件,这样就会控制台的信息就会输出到你指定的文件里面
参考技术A command > filename 把标准输出重定向到一个新文件中
command >> filename 把标准输出重定向到一个文件中(追加)
command 1 > fielname 把标准输出重定向到一个文件中
command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
command 2 > filename 把标准错误重定向到一个文件中
command 2 >> filename 把标准输出重定向到一个文件中(追加)
command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)
command filename2 把command命令以filename文件作为标准输入,以filename2文件作为标准输出
command &m 把标准输出重定向到文件描述符m中

如何在linux平台上将控制台输出重定向到qt中的GUI

【中文标题】如何在linux平台上将控制台输出重定向到qt中的GUI【英文标题】:how to redirect the console output to GUI in qt on linux platform 【发布时间】:2011-05-12 07:26:30 【问题描述】:

我正在做一个名为数据包嗅探的项目。它的工作原理类似于 etherial。它捕获并显示所有到达主机的数据包。开发这个项目正在linux平台上工作并使用QT来开发它。请指导我遇到以下问题

    能够在控制台中显示数据包信息我想将这些数据包信息重定向到我的 GUI。有可能吗?

【问题讨论】:

您正在编写的程序是执行数据包嗅探,还是外部程序? 【参考方案1】:

抱歉,不准确,我面前没有参考资料。我最近正是这样做的,它非常简单。使用 QProcess 启动数据包嗅探器,然后创建一个插槽来处理 ReadyRead (?) 信号。 ReadyRead 插槽然后可以从进程中读取 stdout 和 stderr 并将输出放到 GUI 上。

【讨论】:

【参考方案2】:

如果您将外部程序的标准输出通过管道传输到您的 Qt 程序,您可以使用 QTextStream 并将其附加到您的标准输入(参见 docs)。

从那里你可以在你的程序周围传递 QTextStream 对象并使用 QTextStream::readLine() 提取输入,将这些行附加到你的(例如)QTextEdit。

我不知道这是否可行,但您甚至可以从 QTextStream::device() 中获取 QIODevice,然后将 QIODevice::readyRead() 信号连接到您自己的插槽以使一切异步。

【讨论】:

感谢 leegent...现在可以从控制台输出输出了...我已经使用了这两种方法... 您应该将其中一个回复标记为正确答案:)

以上是关于linux下如何将,控制台输出的所有内容,全部输出到一个文本文件的主要内容,如果未能解决你的问题,请参考以下文章

如何列出linux的文件目录和所有的文件

用Java如何实现获取linux控制台的输出(分很多)

将它们全部单独输出到控制台后,如何创建一组项目?

请问linux把shell的信息全部输出到文本文件的命令是啥?

在linux系统中用啥命令可以查看目录

Linux命令:cat