Karp 的技术博客

在shell编程中, 重定向是一种常用的技术, 它允许将命令的输出发送到一个文件或者设备上, 而不是显示在屏幕上. 这里, 我们将介绍四种常见的shell重定向方法, 以及它们之间的区别.

> file

> file 是最基本的shell重定向方法, 它将命令的输出发送到一个文件中. 例如, 下面的命令将输出发送到一个名为"output.txt"的文件中:

$ command > output.txt

这个命令会将command的输出发送到output.txt文件中, 并且会覆盖原有的内容. 如果想要将输出添加到现有的文件中, 可以使用>>符号代替>.

2>&1

2>&1 是一种特殊的shell重定向方法, 它将标准错误(stderr)重定向到标准输出(stdout). 例如, 下面的命令将标准错误重定向到标准输出:

$ command 2>&1

这个命令会将command的标准错误发送到标准输出中, 并且会覆盖原有的内容. 如果想要将标准错误添加到现有的文件中, 可以使用>>符号代替>.

1>&2

1>&2 是一种特殊的shell重定向方法, 它将标准输出(stdout)重定向到标准错误(stderr). 例如, 下面的命令将标准输出重定向到标准错误:

$ command 1>&2

这个命令会将command的标准输出发送到标准错误中, 并且会覆盖原有的内容. 如果想要将标准输出添加到现有的文件中, 可以使用>>符号代替>.

/dev/null


/dev/null 是一个特殊的文件, 它接收所有的输入, 并丢弃所有的输出. 例如, 下面的命令将输出发送到/dev/null中:

$ command > /dev/null

这个命令会将command的输出发送到/dev/null中, 并且会覆盖原有的内容. 如果想要将输出添加到现有的文件中, 可以使用>>符号代替>.

总结

在shell编程中, 重定向是一种常用的技术, 它允许将命令的输出发送到一个文件或者设备上, 而不是显示在屏幕上. 这里, 我们介绍了四种常见的shell重定向方法, 以及它们之间的区别. 希望这些信息对您有所帮助.

参考文献

  • Linux Shell Programming HOWTO - Redirection
  • The Linux Documentation Project - Redirection
  • Shell Programming Tutorial - Redirection

shell

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2016年02月26日 04:59
2

目录

来自 《Shell重定向 &>file、2>&1、1>&2 、/dev/null的区别》