Just to add a few points to the excellent answer by @Wilf,
you can run commands in paralell if you want for any reason, for example, an
autostart script for OpenBox might look like this:
nitrogen --restore &
This will set a background image using
nitrogen, start the panel
tint2 and start the Quake3-style dropdown console
tilda, all at the same time. This is useful if you don't need a program to finish before you launch the next one. Not the case for
apt-get update and
apt-get upgrade though!
& sign at the end of each line. This will cause the shell to fork that process into the background and continue execution. Note how it's different from
&&, which is basically an
command_1 && command_2 will execute
command_1 and if it exits with success, only then run
command_1 & command_2 will start the second right after the first.
Also, you could just stack commands to have them executed serially, like so:
This will run
apt-get upgrade after
apt-get update is finished, but regardless of the result. So even if, for example, the update quits with a network error, the upgrade will still be run.
You can also do this in one line, using the
apt-get update ; apt-get upgrade. Again, this solution is not optimal for these particular commands, but it might come in handy in other situations.
One quick final point, you can also break lines containing
&& as such:
This will be the same as
command_1 && command_2.