From Linux Shell Scripting Tutorial - A Beginner's handbook
Under bash you can create a sequence of one or more commands separated by one of the following operators:
|;||command1; command2||Separates commands that are executed in sequence.|| In this example, pwd is executed only after date command completes.|
|&||command arg &||The shell executes the command in the background in a subshell. The shell does not wait for the command to finish, and the return status is 0. The & operator runs the command in background while freeing up your terminal for other work.|| In this example, find command is executed in background while freeing up your shell prompt.|
|&&||command1 && command2||command2 is executed if, and only if, command1 returns an exit status of zero i.e. command2 only runs if first command1 run successfully.|| |
See Logical AND section for examples.
|||||command1 || command2||command2 is executed if and only if command1 returns a non-zero exit status i.e. command2 only runs if first command fails.|| |
See Logical OR section for examples.
||||command1 | command2||Linux shell pipes join the standard output of command1 to the standard input of command2.|| In this example, output of the ps command is provided as the standard input to the grep command|