Course Outline
Introduction
- Learning Objectives
- Curriculum Schedule
- Course Orientation
- Prerequisites
- Reference Materials
- Participant Responsibilities
- Course Overview
Foundational Review - Optional
- File Management
- Directories and Processes
- List Directory Contents - ls
- Access Help Documentation - man
- View File Contents - cat, more
- Basic Commands
- Pipeline Operations - using | symbol
- Output Redirection - using > symbol
- Append Redirection - using >> symbol
- Input Redirection - using < symbol
- Error Stream Redirection
- Discarding Output - /dev/null
- Foreground Processes
- Background Processes - &
- Terminate Processes - kill
- Special Directory Notations - . and ..
- Shell Prompt Configuration - PS1
- Define Command Aliases
- Utilize Command Aliases
- Command History Management
- Command Line Editing - using Arrow Keys
- Command Line Editing - using vi
- Shell Environment Customization
- User Home Directory - HOME
- Current Working Directory - pwd
- Navigate Directories - cd
- Create New Directory - mkdir
- Delete Empty Directory - rmdir
- Interactive File Copy - cp -i
- Interactive File Move - mv -i
- Interactive File Deletion - rm -i
- Recursive Directory Removal - rm -r
- Filename Generation - Wildcards
- Line, Word, and Character Count - wc
- Locate Files - find
- Search Text Patterns - grep, sort, cut, uniq, tr
- Modify File Permissions - chmod
Shell Scripting
- Develop Shell Scripts
- Validate Command Syntax
- Generate Script File
- Grant Execute Privileges
- Verify Script Execution
- Execute with Timing - time
- Execute with Sourcing - dot
- Replace Shell - exec
- Run via Shell Interpreter - ksh
- Script Debugging Procedures
- Pass Script Parameters
- Input Reading Command
- Utilize read in Automation
- Select Appropriate Shell
- Format Output Data
- Suppress Echo - stty
Special Characters and Variables
- Use of Quotation Marks
- String Literal Types - double and single quotes
- Escape Mechanism - backslash
- Command Substitution - backticks
- Modern Command Substitution - $(...)
- Shell Environment Variables - set
- Reserved Shell Variables
- User-Defined Variables
- Remove Variable - unset
- Variable Scope in Scripts
- Declare Variable Types - typeset
- Integer Arithmetic Variables
- Advanced Variable Constructs
Menu Creation
- Conditional Logic - case statement
- Construct User Menus
- Looping Structures - while and until
- Pause Output Display - sleep
- Pause for Input - dummy read
- Terminate Script Execution
- Exit Loop Structures
- Advanced Option - Spawn Sub-shell
- Handle Signals - trap
- Interrupt Management Strategies
- Terminal Text Formatting - tput
- Cursor Positioning - backtab \b
- Korn Shell Menu Implementation
Conditional Selection
- Conditional Evaluation
- Verify File Existence and Type
- Check File Access Permissions
- Complex Logic - Nested if statements
- Alternative Conditions - elseif
- Negation Logic - NOT operator
- Compound Logical Tests
- String Comparison Operations
- Test Bracket Syntax
- Prevent Null Value Errors
- Numeric Comparison Operations
- Advanced case Statement Usage
- Display Variable Values
- Proper Whitespace Handling
- Test Command Exit Status
Iteration and Looping
- Arithmetic Evaluation - let
- Repetition Structures - while and until
- Infinite Loop Construction
- List Iteration - for loop
- Manage Extensive Parameters - shift
Sub-shells and Functions
- Variable Scope: Local vs. Global
- Sub-shell Execution
- Export Environment Variables
- Process Exit Status
- Command Aliasing
- User-Defined Functions
- Common Utility Functions
- Function Return Values
- Function Management Techniques
- Function Integration in Scripts
Advanced Command Utilities
- Debug Mode Activation - set
- Shell Option Configuration - set
- Combine Record Sets - join
- Concatenate Data Columns - paste, basename, dirname
- Monitor Active Processes - jobs
- Pattern Matching Rules
- Basic Pattern Search - grep
- Extended Regular Expressions - egrep
- Fixed String Search - fgrep
- Arithmetic Expression Evaluation - expr
- Complex Calculations - bc, eval
- Command-Line Argument Parsing
- Option Handling Utility - getopts
- Array Data Structures
Advanced Text Editing - vi & sed
- vi - Custom Key Mappings
- vi - Control Key Configuration
- vi - Text Abbreviations
- vi - Multi-file Editing
- vi - Regular Expression Usage
- vi - Global Text Insertion
- Here Documents
- Stream Editor Operations - sed, delete (-d), print (-p), suppress (-n), quit (-q), script file (-f), multiple inputs
- Pattern Replacement
- sed Application Examples
Text Processing with awk
- awk Processing Engine
- Pattern Matching Logic
- Regular Expression Integration
- Comparison Operators
- Compound Pattern Logic
- Range-Based Patterns
- Special Pattern Categories
- Intrinsic awk Functions
- awk Script Troubleshooting
- Pass Data Parameters
- Substring Matching - contains
- Formatted Output - printf
- Arithmetic Operations
- User-Defined awk Functions
- String Subtraction - substr
- Length Calculation - length
- Action Execution Statements
- Flow Control Structures
- awk Array Structures
- Iterate Arrays with for Loops
- awk Practical Examples
Requirements
Participation in this course is restricted to individuals possessing a proficient working knowledge of UNIX systems or those who have previously completed an Introduction to UNIX training program.
Testimonials (4)
I liked the training because it was interactive, the trainer was knowledgeable, and the exercises helped me learn. The hourly breaks also kept me refreshed and focused.
Musat Robert
Course - UNIX/Linux Shell Scripting
I like the manner of presenting the theory and giving practical examples. Very well structured. I also like the fact that the trainer is always on time and has good communication skills.
Louise
Course - UNIX/Linux Shell Scripting
the constant feedback. possibility to ask questions and get the answers, get some working scripts which we were working on, modifying them and improving them at some point.
Nikita - DB Global Technology SRL
Course - UNIX/Linux Shell Scripting
Wojciech and NobleProg focused the itinerary to feet my needs.