Category:Shell
Shell is a command-line interpreter that provides text user interface for an Operating System.
Within Emacs you can interact with various shells and other command-line/text-mode programs running as a sub-process within an Emacs terminal emulator:
eshell is a shell (not a terminal emulator, nor a process hosted in one) written in pure Emacs Lisp . It is very powerful, flexible and customizable, but poorly documented at time of writing.
Emacs itself is fully functional either in a terminal or a windowing system. Some keystrokes available under window systems may not work in a terminal and vice versa.
User can use shell inside Emacs, with shell mode, eshell or term.
shell mode
in this mode, Emacs run an inferior shell, with I/O through buffer (default to *shell*).
eshell
in this mode, Emacs emulate a shell. It is writen by Emacs Lisp.
term
in this mode, Emacs emulate a terminal, then Emacs invoke a shell that you choose, then link to the terminal.