The Shell
- Shell - user interface to Operating System (OS)
- User can use shell to run programs to perform tasks like manipulating files, performing calculations, etc.
- Graphical shells are more popular - controls such as menus/buttons to manipulate with mouse
- Alternative to graphical shell is command-line shell - user can type in commands to perform actions
- often faster for developers to use command line shell
The Linux Shell
- Linux - freely-distributable Unix-like OS
- Some old Unix shells include:
- C shell (csh)
- KornShell(ksh)
- Bourne-Again Shell (bash)
- Tcsh, Zsh, fish
echo $0
- gives type of shell you are running, e.g. /bin/bash
bash --version
- gives version of bash
Linux Filesystem
- Operating systems must have a way to organize info stored on machine
- Smallest entity where info is stored is a file
- Some files are special in that they contain the name of other files/references to them - these are called directories in Unix (vs. Folders in Windows)
- Linux Filesystem - tree of files rooted at a special
root
directory (/), for example:

- advantage of tree structures is that we can uniquely specify location of any file by giving path taken to reach file from root
- A path ending with
/
indicates that we have a path to a directory, but the Linux file system does not require that paths to directories terminate with /
(this is our convention)
Naming Files