|之间的差异 和; 和&

cod*_*efx 0 linux shell

我已经看到|;&被一起使用,以批量的多个命令在Linux壳.他们之间有什么不同?

谢谢.

Lev*_*von 6

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

例如,

  ls | wc -l
Run Code Online (Sandbox Code Playgroud)

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

这是一个讨论管道的页面.

'&'用于在后台写一个命令,以便它可以运行,而您将返回到命令提示符下,可以继续执行其他命令.

这个页面有一个简短的管道示例和一个在后台放置东西的放大器.本页讨论管理后台命令.最后,sh/ bash(以及可能的csh/ 除了/ 之外的shell tcsh)'&'可用于重定向stdout和stderr,因为@cdarke在下面的有用评论中提醒我们.

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

我没有看到,用于命令,虽然;可以用来组合几个命令.

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