Module 1: INTRODUCTION TO THE SHELL
- Shell Script Strengths and Weaknesses
- Shells
- Switching User Contexts
- Example Shell Script
- Shell and Environment Variables
- Key Environment Variables
- Which and Type
- General Quoting Rules
- Nesting Commands
- Help from Commands and Documentation
- whereis
- Getting Help Within the Graphical Desktop
- Getting Help with man & info
Module 2: SHELL SCRIPTING BASICS
- Positional Parameters
- Input & Output
- printf
- alias
- Functions
- Colors in Scripts
- Custom Bash Prompts
Module 3: WORKING WITH FILES
- Communication Channels
- File Redirection
- Piping Commands Together
- Doing Math
- Filesystem Structures
- Determining Disk Usage With df and du
- cron
- The crontab Command
- crontab Format
- /etc/cron.*/ Directories
- Sending Email with mailx
Module 4: REGULAR EXPRESSIONS
- Searching Inside Files
- Regular Expression Overview
- Regular Expressions
- RE Character Classes
- Regex Quantifiers
- RE Parenthesis
- The Streaming Editor
Module 5: BRANCHING AND LOOPING
- Exit Status
- Comparisons with test
- Conditional Statements
- Flow Control: case
- Flow Control: while and until Loops
- The for Loop
- Flow Control: select
Module 6: DATA MUNGING
- Text Processing with Awk
- Text Sorting
- Duplicate Removal Utility
- Extracting Columns of Text
Module 7: SECURITY, WHITESPACE, AND OTHER GOTCHAS
- Gotcha: Quoting Variables
- Gotcha: Locales
- Gotchas: Maximum Command Length
- Gotcha: Whitespace in for Loops
- Reading Files with while
- Gotcha: $IFS
- Gotcha: Printing in .bashrc
- Gotcha: Aliases
Module A: CHALLENGE
- Apache Configuration Files
- httpd.conf VirtualHost Configuration
Module B: EMACS
- Emacs
- The Emacs Interface
- Basic Emacs
- More Emacs Commands
Module C: THE SECURE SHELL (SSH)
- ssh and sshd Configuration
- Accessing Remote Shells
- Transferring Files
- SSH Key Management
Solid understanding of Unix-based systems and proficiency on the Unix or Linux command line.