这个问题可能听起来有点愚蠢,但我真的看不出重定向和管道之间的区别。
重定向用于重定向 stdout/stdin/stderr,例如ls > log.txt.
管道用于将命令的输出作为另一个命令的输入,例如ls | grep file.txt.
但是为什么同一件事有两个运营商呢?
为什么不直接写ls > grep来传递输出,这不也是一种重定向吗?我缺少什么?
我在 Linux shell 的一些命令中看到过这个“|”,但我不知道它的一般含义。例如,当我在使用 PBS 作业调度程序的共享集群上运行作业时,我可以使用以下命令检查作业运行的位置:
qstat -j <jobid> | grep cwd
Run Code Online (Sandbox Code Playgroud)
我想知道更一般的含义 | 所以我可以在它适用的时候将它应用到其他地方,而不是在我看到其他人使用它时只记住命令。
先感谢您。:)