管道(|)和输出(>)重定向运算符之间有什么区别?我在哪里可以使用它们?
例如:
我通常只使用管道(|)和grep
find . | grep abc
并且我遇到的输入输出重定向的唯一用途是用不同的输入输出测试我的程序 例如:
abc.exe < in.txt > out.txt
为什么我不能做类似的事情:
xyz.exe | out.txt
答案 0 :(得分:2)
管道(|
)用于将小型(但重点)程序串在一起以执行复杂任务。这是UNIX的核心理念。
例如:
$ ps -ef | fgrep http
$ sort myfile | uniq
重定向(>
或2>
)仅用于重定向标准输出(stdout
)或标准错误({ {1}})到文件。
例如:
stderr