| Operator |
Syntax |
Description |
Example |
| ; |
command1; command2 |
Separates commands that are executed in sequence. |
In this example, pwd is executed only after date command completes.
date ; pwd
|
| & |
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.
find / -iname "*.pdf" >/tmp/output.txt &
|
| && |
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. |
[ ! -d /backup ] && mkdir -p /backup
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. |
tar cvf /dev/st0 /home || mail -s 'Backup failed' [email protected] </dev/null
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
ps aux | grep httpd
|