当前位置: 首页 > 面试题库 >

如何将输出重定向到文件和标准输出

姜钧
2023-03-14
问题内容

在bash中,调用foo将在stdout上显示该命令的任何输出。

调用foo > output会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。

有没有一种方法可以将输出重定向到文件 在stdout上显示?


问题答案:

您想要的命令名为 tee

foo | tee output.file

例如,如果您只关心标准输出:

ls -a | tee output.file

如果要包括stderr,请执行以下操作:

program [arguments...] 2>&1 | tee outfile

2>&1将通道2(stderr /标准错误)重定向到通道1(stdout
/标准输出),以便将两者都写为stdout。该tee命令还将其定向到给定的输出文件。

此外,如果要 附加 到日志文件,请tee -a用作:

program [arguments...] 2>&1 | tee -a outfile


 类似资料:
  • 问题内容: 我的基本程序从脚本GUI.py导入了它的GUI界面。 在我的GUI.py中: 但是它的作用是打开两个窗口,第一个窗口 (顶层 窗口 ) 按预期工作,第二个窗口 处于空闲状态 , 这是期望的,直到我单击某个按钮 ,该 按钮 在连续按下后打印数据,并且打印的数据应出现在第二个窗口的文本小部件中, 但是 不会发生,程序也没有响应,当我关闭“顶层”窗口时,会出现错误消息 “ TclError:

  • 问题内容: 我正在AIX 6上工作,在KIX Shell上运行Java命令,并且正在尝试调试类加载问题。我放了-verbose:class来打印加载的类,然后>> / home / user / log.log将控制台放到一个文件中。已创建log.log文件,但其大小为零。文件不包含任何信息,所有详细信息都在一闪而过。 问题答案: 也尝试重定向: 您的Java代码可能正在编写您的命令未重定向的信息

  • 问题内容: 我正在从另一个python脚本(A)调用python脚本(B)。 使用subprocess.call,如何将B的标准输出重定向到指定的文件? 我正在使用python 2.6.1。 问题答案: 将文件作为参数传递给:

  • 问题内容: 我正在尝试从主机系统调用docker的mysqldump,以从golang保存mysql dump。它可以与主机mysqldump正常工作,但不能与docker的mysqldump一起工作。 } 我只有非空数据库的 空mysql dump 问题答案: 解决方案是: } 没有“> dbname.sql”

  • 我试图将Spring Boot日志重定向到log4j2,但我看不出配置中缺少什么。 请注意,在A和B之间,在下面的图片1中,状态日志如何包含我想要的模式中的一些日志条目,但有些不包含。 图片中的“MYCONFIG” 我所追求的是在Spring Boot启动后自定义日志的格式。 图1-控制台输出: 图2-log4j2。属性文件 到目前为止,我所看到的是:https://logging.apache.

  • 问题内容: 我知道在Linux中,要将输出从屏幕重定向到文件,可以使用或。但是,我不确定为什么部分输出仍会输出到屏幕上而不写入文件。 有没有办法将所有输出重定向到文件? 问题答案: 该部分已写入stderr,用于重定向它。例如: 或者,如果您要在同一文件中: 注意:这在(ba)sh中有效,请检查您的shell语法是否正确