我理解重定向到的标准是/dev/null
,但为什么不使用/dev/zero
? 它不是有同样的效果吗?
1>>
2>>
&>>
>>&
另一个问题是,重定向的所有和什么都不代表什么
答案1
使用/dev/zero
与将输出重定向到它具有相同的效果/dev/null
。没有理由不使用它。后者在示例中更常见,因此变得更加流行。
至于重定向,你应该查看你的 shell 手册。Bash 黑客维基有关于重定向的教程和另一个参考页面。
基本上,
>
重定向输出到文件>>
重定向会将文件追加到文件(如果文件不存在则创建文件),而>
重定向会截断文件内容并因此删除文件内容n>
,其中n
是文件描述符的编号,将该描述符的输出重定向到文件。通常使用1
和,分别为和。2
stdout
stderr
m>&n
将文件描述符m
的输出重定向到n
,因此您可以组合例如stdout
和stderr
:> /dev/null 2>&1
&>
还结合stdout
了stderr