2> / dev / null是什么意思?

我想简要解释以下命令行:

grep -i 'abc' content 2>/dev/null 

>运算符通常将输出重定向到文件,但它可以是设备。 你也可以使用>>来追加。

如果未指定数字,则会假定标准输出流,但您也可以重定向错误

> file将stdout重定向到文件
1> file将stdout重定向到文件
2> file将stderr重定向到文件
&> file将stdout和stderr重定向到文件

/dev/null是一个空设备,它接受你想要的任何输入并抛弃它。 它可以用来抑制任何输出。

简而言之,它将stderr(fd 2)重定向到黑洞(丢弃命令的输出)。

一些更常见的重定向用例:

 command > /dev/null 2>&1 & 

在后台运行command ,丢弃stdout和stderr

 command >> /path/to/log 2>&1 & 

运行command并将stdout和stderr附加到日志文件中。

/dev/null在Linux / Unix中被视为黑洞,因此​​您可以将任何内容放入此中,但您无法从/dev/null获取它。

此外, 2>表示您将stderr(即2 )重定向到黑洞(即/dev/null

你的命令是:

 grep -i 'abc' content 2>/dev/null 

不要试图用这样的另一个正斜杠结束 – 2>/dev/null/ (它不是目录)。