为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何将所有输出重定向到文件

请问如何将所有输出重定向到文件

慕工程0101907 2019-09-03 12:04:45
将所有输出重定向到文件我知道在linux中,要将输出从屏幕重定向到文件,可以使用>或tee..但是,我不知道为什么部分输出仍然输出到屏幕,而不是写入文件。是否有将所有输出重定向到文件的方法?
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

那部分是写到stderr的,用2>重定向。例如:

foo > stdout.txt 2> stderr.txt

或者如果您想要在同一个文件中:

foo > allout.txt 2>&1

注意:这在(Ba)sh中有效,检查shell是否有正确的语法。


查看完整回答
反对 回复 2019-09-04
?
喵喔喔

TA贡献1735条经验 获得超5个赞

所有POSIX操作系统有3条溪流:stdin、stdout和stderr。stdin是输入,可以接受stdout或stderr。stdout是主要输出,它被重定向为>>>,或|..stderr是错误输出,它是分开处理的,这样就不会将任何异常传递给命令或写入可能会中断的文件;通常,这会发送给某种类型的日志,或者直接转储,甚至在重定向stdout时也是如此。若要将两者重定向到同一地点,请使用:

command &> /some/file

请使用:

*command* > file 2>&1

如果要关闭错误,请执行以下操作:

*command* 2> /dev/null



查看完整回答
反对 回复 2019-09-04
?
湖上湖

TA贡献2003条经验 获得超2个赞

用这个-"require command here" > log_file_name 2>&1

Unix/Linux中重定向操作符的详细描述。

>操作符通常将输出重定向到文件,但它可以重定向到设备。您还可以使用>来追加。

如果不指定数字,则假定标准输出流,但也可以重定向错误。

> file redirects stdout to file1> file redirects stdout to file2> file redirects stderr to file&> file redirects stdout and stderr to file

/dev/null是一个空设备,它接收任意输入并丢弃它。它可以用来抑制任何输出。



查看完整回答
反对 回复 2019-09-04
  • 3 回答
  • 0 关注
  • 536 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信