TMUX - A Terminal Multiplexer
You may want to see multiple terminals in a single screen. For instance, you want to edit the code while monitoring the system utilization or kernel log from serial communication. Tmux is a terminal multiplexer which allows to split your screen to multiple terminals. You can also make program keep running while not visible in the background.

How to install?
Ubuntu and debian
$ sudo apt install tmux
CentOS and Fedora
$ sudo yum install tmux
macOS
$ brew install tmux
Components
- Session: basic unit of tmux consists of multiple windows
- Window: single terminal screen
- Pane: divided screen from a single window.
When you launch tmux, you may create a new session and generates multiple windows in it. Each window can be divided into multiple panes.
Commands
tmux: start new window
tmux ls : list all available sessions
tmux attach: attach the session
tmux detatch: detach the session
Shortcuts
CTRL + b : prefix key by default.
[prefix] + : command mode where you can type tmux commands
[prefix] + c : creates a new window
[prefix] + 0-9 : switch to a window with its index
[prefix] + " : split the active pane horizontally
[prefix] + % : split the active pane vertically
[prefix] + arrow key : switch to another pane
keep [prefix] pressed + arrow key : resize the active pane
[prefix] + z : zoom out the active pane
[prefix] + x : kill the current window
[prefix] + d : detach the session
Configuration
Like ~/.bashrc, you can set local configuration to ~/tmux.conf. The global configuration file should be located at /etc/tmux.conf.
You can make your own configuration.
FYI - A good example