A command-line interface (CLI) is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). The program which handles the interface is called a command-line interpreter or or Shell.
https://gna.org/projects/mbfl - Marco's Bash Functions Library
http://linux.org.mt/article/terminal - Terminal
http://www.ssuet.edu.pk/~amkhan/Linuxbooks/Linux%20Shell%20Scripting%20Tutorial.pdf - Linux Shell Scripting Tutorial
http://www.tldp.org/LDP/abs/html - Advanced Bash-Scripting Guide
http://www.tldp.org/LDP/Bash-Beginners-Guide/html/index.html - Bash Guide for Beginners
http://linuxcommand.org/ - "...tired of changing your desktop themes. You keep seeing this "terminal" thing. Now what?"
http://web.archive.org - The history of unix shells