who > lp 和 who | 有什么区别?lp?

mun*_*ish 1 shell pipe io-redirection

为什么who > lp创建文件但who | lp将输出引导到程序lp

这两个简单命令背后的基本原理是什么?有人可以用一个例子来解释它吗?

Chr*_*own 5

>是重定向到一个文件。|是通过使用管道重定向到进程。

后者本质上将STDOUT一个进程的文件描述符 1 ( ) 指向一个管道,该管道通向STDIN另一个进程的文件描述符 0 ( )。文件重定向操作并没有那么复杂,它只需要一个 FD 并将其转储到一个文件中。