O'Reilly logo

Linux in a Nutshell, 6th Edition by Robert Love, Stephen Figgins, Ellen Siever, Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Command Forms

Syntax

Effect

cmd &

Execute cmd in background.

cmd1 ; cmd2

Command sequence; execute multiple cmds on the same line.

{ cmd1 ; cmd2 ; }

Execute commands as a group in the current shell.

( cmd1 ; cmd2)

Execute commands as a group in a subshell.

cmd1 | cmd2

Pipe; use output from cmd1 as input to cmd2.

cmd1 ' cmd2'

Command substitution; use cmd2 output as arguments to cmd1.

cmd1 $( cmd2)

POSIX shell command substitution; nesting is allowed.

cmd $(( expression))

POSIX shell arithmetic substitution. Use the result of expression as argument to cmd.

cmd1 && cmd2

AND; execute cmd1 and then (if cmd1 succeeds) cmd2. This is a “short-circuit” operation; cmd2 is never executed if cmd1 fails.

cmd1 || cmd2

OR; execute either cmd1 or (if cmd1 fails) cmd2. This is a “short-circuit” operation; cmd2 is never executed if cmd1 succeeds.

! cmd

NOT; execute cmd, and produce a zero exit status if cmd exits with a nonzero status. Otherwise, produce a nonzero status when cmd exits with a zero status.

Examples

$ nroff file > file.txt &                          Format in the background
$ cd; ls                          Execute sequentially
$ (date; who; pwd) > logfile                          All output is redirected
$ sort file | pr −3 | lp
                          Sort file, page output, then print
$ vi `grep -l ifdef *.c`                          Edit files found by grep
$ egrep '(yes|no)' `cat list`
                          Specify a list of files to search
$ egrep '(yes|no)' $(cat list)                          POSIX version of previous
$ egrep '(yes|no)' $(< list)                          Faster, not in POSIX
$ grep XX file && lp file
                          Print file if it contains the pattern;
$ grep XX file || echo "XX not ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required