如何在标准输出上显示Linux命令的输出,并将其通过管道传输到另一个命令?

如何在标准输出上显示Linux命令的输出,并将其通过管道传输到另一个命令?,linux,shell,command,pipe,Linux,Shell,Command,Pipe,可能重复: 例如,我想运行以下命令: ls -l 然后我将输出到stdout: drwxr-xr-x 2 user user 4096 Apr 12 12:34 Desktop -rw-rw-r-- 1 user user 1234 Apr 12 00:00 file 我想将这个输出重定向到另一个命令进行进一步的处理(比如重定向到'head-1'以提取第一行)。我能在一行内完成吗?是的,发球台可以。比如: ls -l | tee | head -1 要将输出附加到文件,请执行以下操作:

可能重复:

例如,我想运行以下命令:

ls -l
然后我将输出到stdout:

drwxr-xr-x 2 user user 4096 Apr 12 12:34 Desktop
-rw-rw-r-- 1 user user 1234 Apr 12 00:00 file

我想将这个输出重定向到另一个命令进行进一步的处理(比如重定向到'head-1'以提取第一行)。我能在一行内完成吗?

是的,发球台可以。比如:

ls -l | tee | head -1
要将输出附加到文件,请执行以下操作:

ls -l | tee -a output.txt
有一个名为的工具,它允许您通过管道将一个命令传递给其他两个命令(如fork),但大多数机器上默认不安装该工具。使用它,您的问题将通过以下方式解决:

ls -l | tpipe head -1

tee
会做你想做的事。另外,这个问题更适合@icyrock.com。第一种方法(
tee
输出到
tty
)对我来说很有效。但是第二种方法(使用过程替换)没有。无论如何,问题解决了。谢谢@拉塞克:当然,很高兴它成功了!谢谢,但是
ls-l
的输出不会出现在控制台上。我想要的是
ls-l
ls-l | head-1
的输出。