2>&1 命令

linuxshell中"2>&1"

对于&1 更准确的说应该是文件描述符 1.

其中0表示键盘输入1表示屏幕输出 2表示错误输出.
把标准出错重定向到标准输出,然后扔到某个文件下面去。
通俗的说,就是把所有标准输出和标准出错都扔到垃圾桶里面。
命令
command > out.file 2>&1 &
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
2>&1是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。
最后一个&,是让该命令在后台执行。

ls xxx >out.txt 2>&1,实际上可换成 ls xxx 1> out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。

command > file 2>&1
首先是command > file将标准输出重定向到file中,2>&1是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。
command 2>&1 > file
2>&1标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file后输出才被重定向到file,但标准错误仍然保持在终端。

你可能感兴趣的:(2>&1 命令)