|之间的差异和;和&

时间:2012-08-23 03:39:34

标签: linux shell

我已经看到|;以及&用于在Linux shell上批量处理多个命令。他们之间有什么不同?

感谢。

2 个答案:

答案 0 :(得分:6)

'|'被称为管道符号,它用于从一个命令获取输出并将其“管道”到另一个命令。

例如,

  ls | wc -l

获取ls命令的输出并将其提供给wc -l命令,该命令计算行数。在不同阶段连续输出几个管道是很常见的。

这是一个讨论pipes

的页面

'&'用于将命令放在后台以便它可以运行,同时返回到命令提示符并可以继续发出其他命令。

这个page有一个简短的管道示例和一个在后台放置东西的放大器。此页面讨论managing background commands。最后,在sh / bash下(可能还有csh / tcsh以外的其他shell)'&'可用于redirect stdout and stderr,因为@cdarke提醒我们在下面有用的评论。

任何体面的Linux / Unix教程都会为您提供有关这两者的更多信息。

我没有看到,与命令一起使用,但;可以用于group several commands

另请参阅下面的@Bruno评论,了解有关使用&&在bash中链接命令的更多信息。

答案 1 :(得分:1)

&

将任务放在后台。

|

将std从上一个命令推出到下一个命令的std中。

,

我以前从未见过。你在哪里见过它?