Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将控制台输出重定向到文件?_C_Shell_Io Redirection - Fatal编程技术网

C 如何将控制台输出重定向到文件?

C 如何将控制台输出重定向到文件?,c,shell,io-redirection,C,Shell,Io Redirection,我是c的新手。 是否有任何简单的方法可以使用一些常规命令行\链接参数(无需修改任何原始代码)将控制台的所有输出(printfs等)重定向到一个文件 如果是,步骤是什么?使用shell输出重定向 您的命令>outputfile.txt 标准错误仍将输出到控制台。如果您不想这样做,请使用: 您的命令>outputfile.txt 2>&1 或 您的命令&>outputfile.txt 您还应该查看tee实用程序,它可以使它同时重定向到两个位置。在Unix shell中,您通常可以执行可执行文件2>&

我是c的新手。 是否有任何简单的方法可以使用一些常规命令行\链接参数(无需修改任何原始代码)将控制台的所有输出(printfs等)重定向到一个文件


如果是,步骤是什么?

使用shell输出重定向

您的命令>outputfile.txt

标准错误仍将输出到控制台。如果您不想这样做,请使用:

您的命令>outputfile.txt 2>&1

您的命令&>outputfile.txt


您还应该查看
tee
实用程序,它可以使它同时重定向到两个位置。

在Unix shell中,您通常可以执行
可执行文件2>&1
,这意味着在Unice上“将标准输出重定向到文件,将错误输出重定向到标准输出”

your-command | tee output file.txt

这样,您可以看到输出并与程序交互,同时获得标准输出的硬拷贝(但不是标准输入,因此它不像电传打字会话)。

如上所述,您可以使用>操作符将程序的输出重定向到文件,如所示:

./program > out_file
此外,您还可以将数据附加到现有文件中(或使用>>运算符创建尚未退出的文件):

./program >> out_file
如果您真的想了解更多关于命令行提供的(很棒的)特性,我建议您阅读这本书(并进行大量编程:)


享受吧

可能重复的勿忘>>附加到文件,而使用此命令将ssh附加到服务器可以保存整个会话文件。令人惊叹的!!