GNU Screen Basic Tutorial
If you've ever SSHed into a server, ran something, logged off and got frustrated because whatever you were running stopped running because you had to change coffee shops or go to class then you've experienced the need for GNU Screen.
Put simply it allows you to maintain a persistent session, a terminal that does not change or quit just because you logged out. Installation is easy. On a debian machine its simply
sudo apt-get install screen
Usage is straight forward as well. Type the word "screen"
and you'll be shown a welcome window, press space to get through. Now you'll simply see a standard shell. You can execute whatever you want here and the session will not die until you tell it to. You can start many different sessions and toggle between them. Here's a table of the basic controls for screen.
Ctl-a Ctl-c, create a new window
Ctl-a Ctl-a, switch between windows
Ctl-a n, toggle to next window
Ctl-a p, toggle to previous window
Ctl-a 5, toggle to 5th window
Ctl-a ", get a menu listing all of the window
Ctl-a A, tool for adding a name to your window, helpful for the menu view
Ctl-a k, Kills the window
Ctl-a d, Detach from the session
Another thing to note. Once you detach from a screen, you need to re-attache the next time you run screen. To do that simply specify the -r parameter.
$ screen -r
Update 6-3-2009: A few fixes were made thanks to Ben Finney's comments