Magazine

Command Separators in Linux

Posted on the 23 March 2021 by Satish Kumar @satish_kumar86

Commands can also be combined in such a way that they are executed in a particular sequence.

Command1; command2

A command line can consist ofmultiplecommands. Each command is separated by a semicolon, and the command line is terminated with a newline. The exit status is that of the last command in the chain of commands.

The first command is executed, and the second one is started as soon as the first one has finished:

$ w; date
Output:
satish@app:/home/satish$ w; date
 12:55:08 up 276 days, 22:29,  2 users,  load average: 5.72, 4.10, 3.60
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
satish   pts/0    103.146.216.131  10:26    4.00s  0.45s  0.07s sshd: satish [priv]
Fri Mar 21 12:55:08 IST 2021
satish@app:/home/satish$
$ w ; date > whoandwhen

Output from thedatecommand will be redirected to thewhoandwhenfile.

In the preceding example, we can see that when we put multiple commands on the same line, but separated by the;command, then those commands execute sequentially one by one:

$ date; who am iTue Mar 10 23:21:38 PDT 201student  pts/0        2015-03-10 23:12 (:0.0)

In the preceding example, the date command is executed first and the who am I command will be executed next. Both the commands are typed on the same lines, separated by the ; command.

Command grouping

Commands may also be grouped so that all of the output is either piped to another command or redirected to a file:

$ ( ls; pwd; date ) > outputfile

The output of each of the commands is sent to the file, outputfile. The spaces inside the parentheses are necessary:

$ ( w ; date ) > whoandwhen

The output of the w command and date will be redirected to the whoandwhen file:

$ (echo "***x.c***";cat x.c) > log.txt

Output:

This redirects the content ofx.cwith a heading***x.c***to the file out:

$ (pwd; ls; date) > log.txt

Output:

This redirects the output of commandspwd,ls, anddatein thelog.txtfile.


Back to Featured Articles on Logo Paperblog