我已经看到|
和;
以及&
用于在Linux shell上批量处理多个命令。他们之间有什么不同?
感谢。
答案 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中。
,
我以前从未见过。你在哪里见过它?