将标准输出重定向到一个文件的同时并在屏幕上显示

转载 2007年10月06日 09:34:00
将标准输出重定向到一个文件的同时并在屏幕上显示
一、标准输出+标准错误
输出标准输出和标准错误,同时保存到文件logfile
方法一: <command> 2>&1 | tee <logfile>

[root@home root]# id das 2>&1 |tee logfile
id: das: No such user
[root@home root]# cat logfile
id: das: No such user
注释:管道的作用为把一个进程的标准输出作为另一个进程的标准输入。2>&1是把标准错误重定向到标准输出的副本一起输出。上面的命令,把标准输出和标准错误都输出作为tee命令的标准输入,tee的作用为把标准输入的内容拷贝到文件,并输出。

方法二:<command> 2> logfile | cat - logfile

[root@home root]# id abc 2>&1 |tee logfile
id: abc: No such user
[root@home root]# cat logfile
id: abc: No such user
注释:cat可以带多个文件参数,同时显示多个文件的内容。
"-"
代表标准输入,logfile是管道前保存的标准错误文本。
二:忽略标准输出
若想忽略标准输出,只输出标准错误并保存到文件logfile
命令如下:<command> 2>&1 >/dev/null | tee logfile

注释:1. 2>&1 将标准错误重定向到标准输出,注意,此时标准输出还没有被重定向
2. >/dev/null
等同于1>/dev/null /dev/null文件是一个空设备,类似于windows内的回收站,使用>/dev/null(等同于1>/dev/null)将标准输出重定向到/dev/null,即不显示标准输出的内容。所以这时的标准输出就仅变为重定向过来的标准错误了。

相反,如果两者颠倒顺序,那标准输出连同它的副本都会被重定向到/dev/null,这是一个逻辑问题。

[root@home root]# make >/dev/null 2>&1
[root@home root]# make 2>&1 >/dev/null
make: *** No targets specified and no makefile found.   Stop.
 
举报

相关文章推荐

python同时标准输出和重定向到文件保存

先把代码贴出来,在http://www.crifan.com/summary_python_logging_module_usage/的基础上增加了部分内容#!/usr/bin/python # -*...

Linux 执行命令或脚本的屏幕输出(正常输出、警告、错误等信息)重定向输出到文件

系统默认的stdin,stdout,stderr,都是屏幕,所以,当你执行命令,比如make,后,所输出的信息,都是可以在屏幕上看到的。 所以,想要将对应信息输出到某个文件中,就用对应的数字加上重定向...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级

文件重定向 [java] view plaincopy #include   using namespace std;  ...

nohup 后台运行,以及重定向标准输出和标准错误 &/dev/null 文件

nohup 加&大家都知道是后台运行并把stdout输出到文件nohup.out中。其实&是后台运行的命令。 具体的命令我就不介绍了, 一般都是在linux下 nohup command_l...

nohup 后台运行,以及重定向标准输出和标准错误 &/dev/null 文件

nohup 后台运行,以及重定向标准输出和标准错误 &/dev/null 文件 nohup 加 &大家都知道是后台运行并把stdout输出到文件nohup.out中。其实&是后台运行的命令。 ...

Java 文件流与标准流之间的重定向

在Java中操作标准输入输出设备,可以像普通文件那样进行流的输入与输出。基于这样一个原理,就可以实现文件流与标准流之间的重定向。 1、文件输入流重定向到标准输入流。 文件输入流重定向到标准输入流可...

重定向标准错误输出

第5章介绍了标准输出的概念,并解释了如何重定向命令的标准输出。除了标准输出之外,命令还可以将输出发送到标准错误输出。命令将错误消息发送到标准错误输出,这样就可以避免与发送到标准输出的信息混淆在一起。 ...

Java和C++的标准输出流重定向

0. 概要本文记录一下 Java和C++的标准输出流重定向。概要 Java C Plus Plus1. Java输入文件-> D:\\TerminalInput\\student.txt5 huhu ...

java.io.Console的使用以及重定向标准输出/输入

在看console的时候 看到了个这个类只适用于标准的输入 输出流未被重定向的原始控制台中 比如 CMD中的那个对话框 在ECLIPSE中无法使用import java.io.Console; p...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)