在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR),将它们都导向同一个文件或位置。这里有几个常见的命令行示例:
- 将标准输出和错误输出合并并一起重定向到一个文件中:
command > file.log 2>&1
这条命令首先将command
的标准输出重定向到file.log
,然后通过2>&1
将错误输出也重定向到标准输出当前所指向的位置,也就是file.log
。
- 如果您想分别记录标准输出和错误输出到不同的文件:
command > output.log 2> error.log
在这个例子中,标准输出被重定向到output.log
,而错误输出则被单独重定向到了error.log
。
- 若要丢弃所有的输出(包括标准输出和错误输出):
command > /dev/null 2>&1
在这里,标准输出被发送到/dev/null
(黑洞设备,用于丢弃所有数据),接着错误输出也被重定向到标准输出所在的地方(即/dev/null
)。这样,无论是正常信息还是错误信息都不会显示在屏幕上或写入任何文件中。