Shells provide an interactive command line interface for users to launch and manage programs. There are different types of shells like bash, csh, and ksh. The shell prompt and configuration are defined in files like /etc/bashrc. Common shell commands allow users to navigate directories, view and edit files, search for files, manage running processes, and set environment variables. Shells act as an interface between the user and the operating system kernel.