/dev/zero 还是 /dev/null 用于重定向?

/dev/zero 还是 /dev/null 用于重定向?

我理解重定向到的标准是/dev/null,但为什么不使用/dev/zero? 它不是有同样的效果吗?

1>> 2>> &>> >>&另一个问题是,重定向的所有和什么都不代表什么

答案1

使用/dev/zero与将输出重定向到它具有相同的效果/dev/null。没有理由不使用它。后者在示例中更常见,因此变得更加流行。

至于重定向,你应该查看你的 shell 手册。Bash 黑客维基有关于重定向的教程和另一个参考页面

基本上,

  • >重定向输出到文件

  • >>重定向会将文件追加到文件(如果文件不存在则创建文件),而>重定向会截断文件内容并因此删除文件内容

  • n>,其中n是文件描述符的编号,将该描述符的输出重定向到文件。通常使用1和,分别为和。2stdoutstderr

  • m>&n将文件描述符m的输出重定向到n,因此您可以组合例如stdoutstderr> /dev/null 2>&1

  • &>还结合stdoutstderr

相关内容