This reference guide provides very basic information on how to use and administer an Ubuntu Linux installation.
This book does not attempt to recreate the online manual, commonly known as the "man pages." Linux man pages are very consistent in format, complete, and useful.
When a very helpful soul in a forum politely requests that you RTFM, then consider using the following command:
man (command)
Brings up the manual page for the specified command.
But what if you don't know what command you are looking for?
apropos (phrase)
Lists commands that are "appropriate" for the phase provided.
Directory Listing
ls
default listing of folders and files.
ls -l
"long" listing, showing one file/folder per line, with size, date, and permissions.
ls -la
"long" listing showing "all" files, including hidden files. Hidden files are those that begin with a period.
cd
Change directory.
cd ~
Change to my home directory.
cd ~username
Change to the home directory of username.
cat
Concatenate (display) a file. Equivalent to "type" in a windows command shell.
more
Displays a file in a paged manner. Enter will display one more line. Space will show one more page. There is no backward scrolling.
less
Displays a file in a paged manner. Similar to more but provides backward scrolling and the ability to jump to the end and beginning of the file.
sudo (command)
Executes the designated command as super user.
Some commands and activities require one to act as "super user." The super user of a linux system is a special user caller root, but it is not recommended to login as root to perform normal day-to-day operations because you will not get any protection if you make a mistake. For example, you can easily delete the entire file system while acting as super user if you're not careful!
As a result, it is recommended to login as a normal user and "act as" super user only for those activities that require it.
A command can be executed as super user by prefixing it with sudo. (Super User Do)
sudo (command) (arguments)
Executes the specified command as if the root user invoked it.
Aptitude is the system that downloads, installs, upgrades, and uninstalls software packages in Ubuntu Linux.
sudo apt-get update
Updates the package database with the latest index. This makes no changes to installed software.
sudo apt-get upgrade
Determines, of all the installed packages, which has newer versions available to install and prompts to install the upgrades.
sudo apt-get install (package)
Installs the specified package.
The vi ("visual") editor is a rather cryptic editor, in my humble opinion, but it can be found on virtually every installation of Linux so is good to know the bare essentials of this editor.
vi (filename)
Invokes the editor and loads the designated file.
One can use the arrow keys to position the cursor, but vi is not initially in a mode to accept changes. This is what makes the editor confusing to the new user.
To place the editor into insert mode, enter "i".
Now you can edit text by inserting new text and deleting or backspacing.
Leave edit mode by hitting escape.
To save, enter:
:wq
This can be interpreted as "write" then "quit".
To exit without saving:
Leave edit mode by hitting escape.
:q
If the file had been changed, vi will force you to confirm that you wish to discard your changes by requiring you to add an exclamation point:
:q!
The emacs text editor has variations that run in a text-based command shell, or in a GUI such as gnome or X windows.
emacs (filename)
Invokes emacs on the designated filename.
Unlike vi, emacs is immediately in a mode in which the text can be edited. Often the arrow keys can be used to move the cursor about, but in case your configuration does not accept the arrow key input, use the following:
Cursor Position
^A - go to the beginning of the current line.
^E - go to the end of the current line.
^N - go to the next line.
^P - go to the previous line.
^F - move forward one character.
^B - move backward one character.
Esc< - move to the beginning of the file.
Esc> - move to the end of the file.
Cut and Paste
^K - Kill (cut) line. Eack ^K removes another line from the buffer and places it on the clipboard.
^Y - Yank (paste) line(s) on the clipboard at the current cursor position.
Save and Exit
^XS - Save the file.
^X^C - Exit emacs. (If the buffer is unsaved, you will need to answer "yes" when prompted to exit without saving.)
ps
Shows the process status of your processes.
ps aux
Shows all of the processes in detail.
top
Shows the "top" processes in full-screen mode, refreshed every second. There is also summary information at the top in terms of memory usage, CPU utilization, load averages, and system uptime.
kill (process id)
Requests that the process terminate. (This sends a TERM signal.) If the process does not terminate, follow-up with the larger hammer shown below.
kill -9 (process id)
This sends a non-blockable KILL signal to the process. You may need to sudo kill if you do not own the process.

ifconfig
Shows network adapters, IP addresses, and can be used to bring adapters up and down.
sudo dhclient -r
DHCP release of IP address. Equivalent to ipconfig/release on Windows.
sudo dhclient
DHCP renew or request of IP address. Equivalent to ipconfig/renew on Windows.
sudo netstat -tap
Shows processes that are listening, and other active network connections. You must run as super user to see the owning processes.
sudo nmap -p1-65535 -sS -sV -O -PI -PT <IP / Hostname>
Initiates a port scan of all ports and reports which unfiltered ports are open or closed.
iptables
Enforces table-based rules to implementing a firewall. Check out this iptables example.