如何将控制台输出重定向到文件?
我是c的新手。 有没有简单的方法使用一些通用命令行\ linkage参数将所有控制台的输出(printfs等)重定向到一个文件(无需修改任何原始代码)?
如果是这样的程序是什么?
使用shell输出重定向
your-command > outputfile.txt
标准错误仍将输出到控制台。 如果您不想这样,请使用:
your-command > outputfile.txt 2>&1
要么
your-command &> outputfile.txt
您还应该查看tee
实用程序,它可以使其一次重定向到两个位置。
在unices上,您还可以:
your-command | tee output file.txt
这样你就可以看到输出并能够与程序交互,同时得到标准输出的硬拷贝(但不是标准输入,所以它不像电传类型会话)。
如上所述,您可以使用>运算符将程序的输出重定向到文件,如下所示:
./program > out_file
此外,您可以将数据附加到现有文件(如果尚未使用>>运算符退出,则创建它:
./program >> out_file
如果你真的想要了解更多关于命令行必须提供的(真棒)function,我真的建议你阅读这本书(并做大量的编程:))
请享用!
在Unix shell中,你通常可以executable > file 2> &1
,这意味着“将标准输出重定向到文件并将错误输出重定向到标准输出”