| \\ | escapes itself and other specials |
| \* | stands for anything (including nothing) |
| find ex*.txt |
| ? | stands for any single character |
| find ex?mple.txt |
| [] | encloses patterns for matching a single character |
| find ex[abc]mple.txt |
| () | runs the contents of the parentheses in a sub-shell |
| pwd && (cd /etc) && pwd |
| ; | terminates a command pipeline - use it to separate commands on a single line |
| echo Hi ; uname |
| '' | The contents of the single quotes are passed to the command without any interpretation. |
| find '(echo abc)'* |
| `` | The contents of the backquotes are run as a command and its output is used as part of this command |
| echo \[uname](/man/uname)\`` |
| "" | The contents of the quotes are treated as one argument; any specials inside the quotes, except for $ and \\, are left uninterpreted. |
| cd "untitled folder" |
| | | Pipes allow you to send the output of a command to another command. |
| fortune | cowsay |
| & | Run a command in the background. |
| cowsay & |
| && | Only execute the second command if the first one was successful. |
| ping localhost -c 1 && cowsay great |
| || | Only execute the second command if the first one was unsuccessful. |
| ping "not.reachable" -c 1 || cowsay sorry |
| >> | These symbols are used for redirection. |
| !! | Repeat the last command |
| sudo !! |
| !* | Change command keep all arguments |
| !* tail |
| ^ | Quick history substitution, changing one string to another. |
| ^png^xcf^ |
| # | Turns the line into a comment; the line is not processed in any way. |
| # hint text |