How to run programs from a linux terminal without blocking the terminal?

You are looking for job control which is supported by most shells. See this article for an introduction. At some point you might also want to read the official documentation for bash which is the default shell in Ubuntu.

In short: To start a job automatically in the background put an & after the program call

$ program &

You can also stop programs with CTRLz and then put them into the background later with bg

$ program
^Z
$ bg

To get them to run in the foreground again use fg.


In Ubuntu 16.10 I can't get the ctrl + Z thing mentioned in an other answer to work, but

program &
^C

Does work for me, in other words, ctrl + c after you start the program with a trailing ampersand.