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