最近在安装Apache sentry,发现启动metastore和hiveserver2服务的时候会弹出大量的debug信息,有时候需要在一长串的信息中寻找ERROR信息,觉得挺花时间的,于是想到使用重定向将debug信息输出到指定的debug目录下,ERROR信息输出到ERROR目录下,这样能提高效率。
1、下面先简要介绍一下Linux重定向
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,即1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:
./program 2> log
这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可以实现0,1,2之间的重定向。例如:
2>&1
表示将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:
ls 1> /dev/null