Commands can also be combined in such a way that they are executed in a particular sequence.
A command line can consist of multiple commands. 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:

$ w ; date > whoandwhen
Output of the date command will be redirected to the whoandwhen file.
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 i Tue Mar 10 23:21:38 PDT 201 student 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 same lines, separated by the ";" " command.
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 called 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 of x.c with a heading ***x.c*** to the file out.
$ (pwd; ls; date) > log.txt
Output:
This redirects output of commands pwd, ls, and date in the log.txt file.