What is the shell?
- CLI vs GUI
- command line interface
- graphical user interface
- the command shell is just a program providing a REPL interface with the computer operating system
- REPL: read-evaluate-print loop
- similar to MATLAB console, or interactive perl/python environments
- read the input from the command line (the stuff you typed in)
- evaluate the input, reading files and calling other programs as necessary
- print the output back to the screen
- loop back to the input prompt, ready for new input
- shells:
- common:
bash (Bourne Again SHell), zsh, dash
- less common now:
tcsh, csh, ksh
- the prompt: customizable and often different on different systems, but usually represented as a
$
- some considerations, before we move on:
- case-sensitive
- avoid whitespace in file names
- other bad characters in file/folder names: all punctuation except . - _
. is a dot
/ is a forward-slash, \ is a back-slash
# is a pound, hash, or octothorpe
$ is a dollar sign
* is a star, or an asterisk
^ is a caret
() are parentheses or parens
[] are square brackets
{} are braces or curly brackets
_ is an underscore
- is a hyphen, dash, or minus sign
~ is a tilde
- ` is a back tick
' is a single quote
" is a double quote
- sometimes I will represent generic placeholders by placing them between a less-than sign and a greater-than sign,
<like so>. The angle brackets aren't needed in the actual commands.
- be careful with pasting from Word, Pages, some email clients, and some web browsers since the straight single and double quotes can be auto-corrected to curly single and double quotes
>> Challenge 1