何时使用管道,何时重定向?

Raj*_*pui 2 linux redirection

虽然这是一个基本的东西,但我仍然不知道。考虑这两个例子。

情况1:

[root@dhcppc0 practice]# cat file1 > wc -l
cat: invalid option -- l
Try `cat --help' for more information.
Run Code Online (Sandbox Code Playgroud)

案例2:

[root@dhcppc0 practice]# cat file1 | wc -l
7
Run Code Online (Sandbox Code Playgroud)

我想知道,为什么在第一种情况下重定向不起作用?何时使用重定向,何时使用管道?我已经使用 Linux 很长时间了,但是这些基本的东西仍然让我感到困惑。

请帮忙。

Bre*_*ugh 5

重定向操作符被用于流的命令的stdout一个文件(>),或流的文件的内容,以stdin用于命令(<)。

管道操作符|)流的过程的输出(stdout)到下一个过程stdin

使您的第一个案例工作的唯一方法是使用临时文件,因此您需要使用两个步骤:

cat file1 > tmpfile
wc -l < tmpfile
Run Code Online (Sandbox Code Playgroud)