GL836 - Shell Scripting (Custom)

Course Description

Prerequisites:

Course Prerequisites

Supported Distributions:
Red Hat Enterprise Linux 7
Course Outline:
  1. Introduction to the Shell
    1. Role of Command Shell
    2. Shells
    3. Shell Script Strengths and Weaknesses
    4. Example Shell Script
    5. Switching User Contexts
    6. Shell and Environment Variables
    7. Key Environment Variables
    8. Which and Type
    9. General Quoting Rules
    10. Nesting Commands
    11. Filename Matching
    12. File Globbing and Wildcard Patterns
    13. Brace Expansion
    14. Help from Commands and Documentation
    15. Getting Help Within the Graphical Desktop
    16. Getting Help with man & info
    17. $MANPATH, whatis and apropos
    Lab Tasks
    1. Shell Variables
    2. Shell Meta-Characters
    3. Command Substitution
    4. Wildcard File Matching
  2. Shell Scripting Basics
    1. Positional Parameters
    2. Input & Output
    3. printf
    4. alias
    5. Functions
    6. Colors in Scripts
    7. Custom Bash Prompts
    Lab Tasks
    1. Aliases
    2. Bash Login Scripts
    3. Create "userinfo" and "sysinfo" functions
  3. Working with Files
    1. Communication Channels
    2. File Redirection
    3. Piping Commands Together
    4. Doing Math
    5. Filesystem Structures
    6. Determining Disk Usage With df and du
    7. cron
    8. The crontab Command
    9. crontab Format
    10. /etc/cron.*/ Directories
    11. Sending Email with mailx
    Lab Tasks
    1. Disk and Filesystem Usage
    2. Redirection and Pipes
  4. Regular Expressions
    1. Searching Inside Files
    2. Regular Expression Overview
    3. Regular Expression Implementations
    4. Regular Expressions
    5. RE Character Classes
    6. Regex Quantifiers
    7. RE Parenthesis
    8. The Streaming Editor
    Lab Tasks
    1. Pattern Matching with Regular Expressions
    2. Extended Regular Expressions
    3. Using Regular Expressions With sed
  5. Branching and Looping
    1. Exit Status
    2. Comparisons with test
    3. Conditional Statements
    4. Flow Control: case
    5. Flow Control: while and until Loops
    6. The borne for-Loop
    7. Flow Control: select
    Lab Tasks
    1. Reporting User Statistics
    2. Monitoring Filesystem Usage
  6. Data Munging
    1. Text Processing with Awk
    2. Text Sorting
    3. Duplicate Removal Utility
    4. Extracting Columns of Text
    5. Replacing Text Characters
    6. Combining Files and Merging Text
    7. Comparing File Changes
    Lab Tasks
    1. Processing Text Streams
    2. Text Processing
    3. Create "rmhost" function
    4. Create "showenv" function
    5. Parsing Mail Server Logs
    6. Fixing Incorrect Files
  7. Security, Whitespace, and Other Gotchas
    1. Error Handling
    2. Gotcha: Quoting Variables
    3. Gotcha: Locales
    4. Gotchas: Maximum Command Length
    5. Gotcha: Whitespace in for Loops
    6. Reading Files with while
    7. Gotcha: $IFS
    8. Gotcha: Printing in .bashrc
    9. Gotcha: Aliases
    Lab Tasks
    1. Renaming MP3 Files
    2. Split and Display $PATH
    3. A tar-based Backup
  1. Challenge
    1. Apache Configuration Files
    2. httpd.conf – VirtualHost Configuration
    Lab Tasks
    1. Automated Virtual Host Provisioning
  2. Text Editing
    1. Text Editing
    2. Pico/GNU Nano
    3. Pico/Nano Interface
    4. Nano configuration
    5. Pico/Nano Shortcuts
    6. vi and Vim
    7. Learning Vim
    8. Basic vi
    9. Intermediate vi
    10. Emacs
    11. The Emacs Interface
    12. Basic Emacs
    13. More Emacs Commands
    Lab Tasks
    1. Text Editing with Nano
    2. Text Editing with Vim
    3. Text Editing with Emacs
  3. The Secure Shell (SSH)
    1. OpenSSH Client & Server Configuration
    2. Accessing Remote Shells
    3. Transferring Files
    4. SSH Key Management
Upcoming GL836 Classes
No classes currently scheduled.
Request this class
Don't see what you're looking for? Check our schedule or make a request.