问题描述
我需要关于以下命令行的一行或两行描述:
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/