Linux 2>&1的意思
2>&1的意思是将标准错误(2)也定向到标准输出(1)的输出文件中。 我们来具体了解下:Linux 中三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2。 STDIN就是标准输入,默认从键盘读取信息;STDOUT是标准输出,默认将输出结果输出至终端,也就是显示器之类的东西;STDERR是标准的错误信息,默认也会显示在终端上。由于STDOUT与STDERR都会默认显示在终端上,为了区分二者的信息,就有了编号的0,1,2的定义,用1表示STDOUT,2表示STDERR。 从command>/dev/null说起 其实这条命令是一个缩写版,对于一个重定向命令,肯定是 a > b 这种形式,那么 command > /dev/null 难道是command充当a的角色,/dev/null充当b的角色。这样看起来比较合理,其实一条命令肯定是充当不了a,肯定是command执行产生的输出来充当a,其实就是标准输出stdout。所以 command > /dev/null 相当于执行了 command 1 > /dev/null 。执行command产生了标准输出stdout(用1表示),重定向到/dev/null的设备文件中。 说说2>&1 通过上面 command > /dev/null 等价于 command 1 > /dev/null ,那么对于 2>