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

转载 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.
 

相关文章推荐

将进程的输出重定向至文件中

CString cmdLine = _T("ping.exe 192.168.3.49"); SECURITY_ATTRIBUTES sa={sizeof ( sa ),NULL,TRUE}...

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

一、标准输出+标准错误 输出标准输出和标准错误,同时保存到文件logfile 方法一:  2>&1 | tee [root@home root]# id das 2>&1 |tee...
  • edonlii
  • edonlii
  • 2014年04月22日 17:37
  • 10437

Linux 标准 输入 输出 重定向. printf 不输出到屏幕的解决办法

方法1:   #include    #include    #include    #include    #include          int main()   {       fflush...

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

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

linux shell 屏幕显示stdout stderr的同时 分别重定向到文件

I'm assuming you want to still see STDERR and STDOUT on the terminal. You could go for Josh Kelley's...

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

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

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

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

【Code】标准输出重定向到GUI

  • 2008年03月07日 11:36
  • 13KB
  • 下载

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

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

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

nohup 后台运行,以及重定向标准输出和标准错误 &/dev/null 文件 nohup 加 &大家都知道是后台运行并把stdout输出到文件nohup.out中。其实&是后台运行的命令。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:将标准输出重定向到一个文件的同时并在屏幕上显示
举报原因:
原因补充:

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