/dev/null 2>&1″是什么意思?"> /dev/null 2>&1″是什么意思?">

北漂IT民工 的博客

"> /dev/null 2>&1″是什么意思?

这个命令是Unix/Linux下经常使用的命令,要解释这个命令需要将一些解释清楚。


1.Linux/Unix的标准设备。


STDIN,STDOUT,STDERR


他们分别对应了文件描述符(fd)的值是:0, 1, 2


Shell上可以用0, 1, 2表示


2. >是重定向指令


3. 默认情况下,命令的输入设备是标准输出也就是1


那么我们来看下这个命令:


a) > /dev/null 将默认的标准输入重定向到空设备上


b)  2 > &1 将2重定向到1所对应的设备上


c) 由于1已经被重定向到空设备上,所以2也被重定向到了空设备上


所以从上面的分析我们可以看到


> /dev/null  2 > &1与


> /dev/null 2 > /dev/null


是等价的。