## Overview
* computers good at doing repetitive tasks
* learn how to use the computer efficiently
## The Shell
* interact with computer without GUI
* spaces separate arguments
### Environment variables
``` bash
$PATH
```
* shows paths where the shell searches for programs to use
* absolute vs. relative paths
* absolute -> start from root to desired directory
```bash
/home/daveygravy/blazi
```
* relative -> start from current directory
* use whichever is shorter
## Commands
### Flags and Options
Commands have optional arguments:
* flags
* dash followed by a letter e.g. `-l`
* options
* two dashes followed by a word, take a value e.g. `--ignore=PATTERN`
### Streams
Change where input and output streams of program are pointed
* `< file`
* program input is contents of `file`
* `> file`
* direct program output into `file`
* `|`
* redirect stream into another program
### Root User
* Linux/Mac equivalent of Windows Administrator
* "superuser"