当前位置: 首页>>技术问答>>正文


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 &

在后台运行命令,丢弃stdout和stderr

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

运行命令并将stdout和stderr重定向到日志文件

第三种解决思路

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

因此,2>上的进一步意味着您正在重定向[即>] stderr [即2]进入黑洞[即/dev/null]

你的命令是:

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

请记住,不要试图以另一个正斜杠结束 – 2>/dev/null/

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/447.html,未经允许,请勿转载。